Questions tagged «unit-testing»

单元测试是一种测试源代码的各个单元以确定它们是否适合使用的方法。

5
使用Moq验证特定参数
public void SubmitMessagesToQueue_OneMessage_SubmitSuccessfully() { var messageServiceClientMock = new Mock<IMessageServiceClient>(); var queueableMessage = CreateSingleQueueableMessage(); var message = queueableMessage[0]; var xml = QueueableMessageAsXml(queueableMessage); messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(xml)).Verifiable(); //messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(It.IsAny<XmlElement>())).Verifiable(); var serviceProxyFactoryStub = new Mock<IMessageServiceClientFactory>(); serviceProxyFactoryStub.Setup(proxyFactory => proxyFactory.CreateProxy()).Returns(essageServiceClientMock.Object); var loggerStub = new Mock<ILogger>(); var client = new MessageClient(serviceProxyFactoryStub.Object, loggerStub.Object); client.SubmitMessagesToQueue(new List<IMessageRequestDTO> {message}); //messageServiceClientMock.Verify(proxy …
168 c#  unit-testing  nunit  moq 

27
在Xcode单元测试中使用@testable时,“没有这样的模块”
我最近更新到了Xcode 7 beta5。我尝试向早期项目中添加单元测试,但是我在行上收到错误消息“ No such module [myModuleName]” @testable import myModuleName。 我试过了 使用OptionClean Build Folder 清理项目 检查“生成选项”中的“启用可测试性”(调试)是否设置为“是” 删除测试目标,然后重新添加iOS Unit测试包 这些都不适合这个项目(但是我已经通过测试可以在另一个项目中工作)。其他人有这个问题并解决吗?

11
模拟对象的目的是什么?
我是单元测试的新手,并且不断听到“模拟对象”一词泛滥的声音。用外行的话,有人可以解释什么是模拟对象,以及在编写单元测试时它们通常用于什么目的?

30
Visual Studio 2015或2017无法发现单元测试
编辑2016-10-19: 最初的问题是关于使用XUnit测试运行程序的VS2015 CTP6特有的问题。从答案中可以很明显地看出,Visual Studio中的单元测试发现存在着更为广泛的问题,这可能发生在许多不同的情况下。我整理了我的问题以反映这一点。 我还在自己的答案中包含了一个脚本,直到今天,当类似问题出现时,我仍会使用该脚本来解决它们。 事实证明,许多其他答案也有助于更好地理解VS测试运行程序的复杂性。我感谢人们仍在分享他们的解决方案! 原始问题2015-04-10: 从昨天开始,我的Visual Studio Test Explorer将不会发现我的任何项目的测试。构建后,它也不显示绿色的加载栏。 当我转到Visual Studio测试资源管理器并单击“全部运行”时,或者当我右键单击任何测试方法并选择“运行测试”时,我将在输出窗口中获得以下内容: Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 我在Windows 10运行Visual Studio 2015年CTP 6 Pro的技术预览版,构建10041. .NET Framework版本似乎并不重要-它发生的4.0,4.5.2和4.6。 我尝试使用以下测试框架,并且所有框架都具有相同的行为: Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0 xunit v2.1.0-beta1-build2945 与 xunit.runner.visualstudio …


10
Node.js单元测试
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 当前是否有任何好的node.js(服务器端js)单元测试框架?我正在寻找比提供的Assert模块更深的东西。

12
断言Junit中的2个列表之间等于
在JUnit测试用例中,如何在列表之间进行相等性声明?列表内容之间应该平等。 例如: List<String> numbers = Arrays.asList("one", "two", "three"); List<String> numbers2 = Arrays.asList("one", "two", "three"); List<String> numbers3 = Arrays.asList("one", "two", "four"); // numbers should be equal to numbers2 //numbers should not be equal to numbers3

6
当您的应用具有测试目录时,在Django中运行特定的测试用例
Django文档(http://docs.djangoproject.com/en/1.3/topics/testing/#running-tests)指出,您可以通过指定单个测试用例来运行它们: $ ./manage.py test animals.AnimalTestCase 假设您将测试保存在Django应用程序的tests.py文件中。如果是这样,那么此命令将按预期工作。 我在tests目录中有针对Django应用程序的测试: my_project/apps/my_app/ ├── __init__.py ├── tests │ ├── __init__.py │ ├── field_tests.py │ ├── storage_tests.py ├── urls.py ├── utils.py └── views.py 该tests/__init__.py文件具有suite()函数: import unittest from my_project.apps.my_app.tests import field_tests, storage_tests def suite(): tests_loader = unittest.TestLoader().loadTestsFromModule test_suites = [] test_suites.append(tests_loader(field_tests)) test_suites.append(tests_loader(storage_tests)) return unittest.TestSuite(test_suites) 要运行测试,请执行以下操作: $ ./manage.py …


3
如何使用ArgumentCaptor进行存根?
在Mockito 文档和javadocs中,它说 建议将ArgumentCaptor用于验证,但不能用于存根。 但我不明白如何将ArgumentCaptor用于存根。有人可以解释上面的陈述并显示ArgumentCaptor如何用于存根或提供显示其完成方式的链接吗?

12
如何在Jest中测试引发的异常的类型
我正在使用一些代码,在其中我需要测试由函数引发的异常类型(是TypeError,ReferenceError等)。 我当前的测试框架是AVA,可以将其作为第二个参数t.throws方法进行测试,如下所示: it('should throw Error with message \'UNKNOWN ERROR\' when no params were passed', (t) => { const error = t.throws(() => { throwError(); }, TypeError); t.is(error.message, 'UNKNOWN ERROR'); }); 我开始将测试重写为Jest,但找不到如何轻松地做到这一点。可能吗

4
更改Mocha的默认超时
如果我们有一个单元测试文件my-spec.js并与mocha一起运行: mocha my-spec.js 默认超时为2000毫秒。可以使用命令行参数将其覆盖以进行部分测试: mocha my-spec.js --timeout 5000 是否可以全局更改所有测试的默认超时时间?即,当您调用时,默认超时值将不同于2000毫秒: mocha my-spec.js

11
Python-doctest与unittest [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 我正在尝试使用Python进行单元测试,我想知道是否有人可以解释doctest和unittest的优缺点。 您将分别使用什么条件?

7
在C#中引发事件的单元测试(按顺序)
我有一些引发PropertyChanged事件的代码,我希望能够对事件是否正确引发进行单元测试。 引发事件的代码就像 public class MyClass : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void NotifyPropertyChanged(String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public string MyProperty { set { if (_myProperty != value) { _myProperty = value; NotifyPropertyChanged("MyProperty"); } } } } 我从单元测试中的以下代码中得到了一个不错的绿色测试,它使用了委托: [TestMethod] public void …
159 c#  unit-testing  events 

3
使用Moq确定是否调用方法
据我了解,如果我调用更高级别的方法,则可以测试是否将发生方法调用,即: public abstract class SomeClass() { public void SomeMehod() { SomeOtherMethod(); } internal abstract void SomeOtherMethod(); } 我想测试一下,如果我打电话,SomeMethod()我希望SomeOtherMethod()会被调用。 我认为这种测试可以在模拟框架中使用对吗?
159 c#  .net  unit-testing  mocking  moq 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.