我正在使用NUnit和NSubstitute编写C#单元测试。我正在测试一个类,该类将尝试从实现以下接口(interface)的配置提供程序中检索对象:publicinterfaceIConfigProvider{TGetConfig(intid);TGetConfig(stringid);}被测类只使用GetConfig的int版本所以在SetUpFixture中,我执行以下操作来设置一个模拟的配置提供程序,它将始终返回相同的虚拟对象:IConfigProviderconfigProvider=Substitute.For>();configProvider.GetConfig(Ar
我们可以有一个带参数的测试设置方法吗?我需要为夹具中的每个测试进行不同的设置。我们是否有一些(或类似的方式)作为假设的想法:[SetUp][Argument("value-1")][Argument("value-2")][Argument("value-3")]publicvoidInitializeTest(stringvalue){//setenvvarwithvalue} 最佳答案 可以使用带有参数的TestFixture属性来完成。如果类中的所有测试都依赖于相同的参数,这就是方法。该类需要一个构造函数,该构造函数具有传递给
基本上,我希望能够将方法插入到NUnit中的TestCase或TestFixture中以改变行为。本质上我想这样做:[TestFixture]publicclassMethodTests{publicdelegatevoidSimpleDelegate();publicstaticvoidA(){//Dosomethingmeaningful}publicstaticvoidB(){//Dosomethingmeaningful}publicstaticvoidC(){//Dosomethingmeaningful}[TestCase(A,B,C)][TestCase(C,A,B)][
我在NUnit下编写了单元测试,使用具有不同参数的TestFixtures。现在,当我运行测试时,我想看看哪些参数测试通过了,哪些没有通过。不幸的是,ReSharper只显示“测试失败:子测试失败”,没有更多信息。有什么办法可以查看哪些参数导致了测试失败?谢谢! 最佳答案 我就此事向JetBrains发送了电子邮件,并于2010年7月9日收到了AndreySerebryansky的以下回复:ThisissuewillbeaddressedinthenextReSharperrelease.我相信在撰写本文时当前版本是5.1。编辑:基