草庐IT

c# - 调试 NUnit 测试的最佳方法是什么?

我的平台:带有NUnit2.2.7的VisualC#2008ExpressEdition我有一个解决方案,我的代码在一个项目中,而我的NUnit单元测试在同一解决方案的不同项目中。我一直在努力调试和单步执行NUnit测试。我在网上找到了一些建议调用以下内容的引用资料:NUnit.ConsoleRunner.Runner.Main(args);但这甚至无法编译-它有编译错误:Error1Thetypeornamespacename'Runner'doesnotexistinthenamespace'NUnit.ConsoleRunner'(areyoumissinganassemblyr

c# - NUnit 中的数据驱动测试?

在MSTest中,您可以执行以下操作:[TestMethod][DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV","testdata.csv","testdata#csv",DataAccessMethod.Sequential)]publicvoidTestSomething(){doublecolumn1=Convert.ToDouble(TestContext.DataRow["column1"]);...Assert.AreEqual(...);}NUnit2.5中的等效代码是什么?

C# 单元测试 (Nunit) 控制台应用程序的主要方法?

我对控制台应用程序的Main方法进行单元测试有疑问。标准签名是publicstaticvoidMain(string[]args)我希望能够进行测试以确保只传入1个参数。如果传入了多个参数,我希望测试失败。我不认为我可以用MOQ来模拟它作为它的静态方法。谁有这方面的经验?有什么想法吗?谢谢 最佳答案 在您的场景中没有什么可模拟的。静态Program.Main是一种与任何其他方法一样的方法,您可以通过调用它来测试它。staticvoid方法的问题是您只能验证它是否抛出异常或与输入参数(或其他静态成员,最终)交互。由于在string[]

c# - 使用 NUnit 进行单元测试时获得所需/正确的装配路径

我刚刚开始试验最小起订量以对我的模块进行单元测试。实际上,我必须为其编写单元测试的类使用Assembly.GetExecutingAssembly().Location在内部确定路径。但是,这在编写单元测试时不起作用,因为执行程序集的路径不同(采用单元测试程序集的路径)AppData\\Local\\Temp\\3ylnx32t.ukg\\TestApplication.Test\\assembly\\dl3\\aeb938e6\\f3664631_d982ce01。我试过了,禁用卷影复制。AppDomainSetupappDomain=newAppDomainSetup{Shadow

c# - nUnit 下的 Contains 中不区分大小写的比较

我试图断言列表包含特定字符串。由于我需要不区分大小写地评估条件,因此我使用了一个解决方法(沿着thisblogpost的东西)。但是,我想知道为什么似乎没有办法让Assert.Contains方法执行不区分大小写的比较。或者有没有办法做到这一点?(当我用谷歌搜索时,我只在nUnit的官方页面上找到了Assert.That方法的约束。) 最佳答案 无法在Assert.Contains中指定ignoreCase。我不知道这是被忽视还是有意为之。但是,您可以使用StringAssert.AreEqualIgnoringCase(left,

c# - 在 .NET Core 控制台应用程序中使用带有 NUnit3 的 app.config 文件

环境:目前我的解决方案中有三个项目:一个.NETStandard2.0库,其中包含一些我想测试的代码。引用该库以确保其正常工作的.NETCore2.2控制台应用。使用VS中的“NUnit测试项目”模板创建的.NETCore2.2控制台应用。我的测试项目中的依赖全部来自NuGet:起订量版本="4.10.1"nunit"Version="3.11.0"NUnit.ConsoleRunner"Version="3.10.0"NUnit3TestAdapter"Version="3.13.0"Microsoft.NET.Test.Sdk"Version="16.0.1"问题:.NET标准库依

c# - 如何修复无法加载文件或程序集 'nunit.engine,版本 = 3.7.0.0

我有一个带有单独测试项目的Web应用程序,该项目使用NUnit来运行单元测试。当我的测试项目试图发现测试时,我遇到了以下异常:Anexceptionoccurredwhiletestdiscoverer'NUnit3TestDiscoverer'wasloadingtests.Exception:Couldnotloadfileorassembly'nunit.engine,Version=3.7.0.0,Culture=neutral,PublicKeyToken=2638cd05610744eb'oroneofitsdependencies.Thesystemcannotfindt

c# - nunit 测试仅在作为 tfs msbuild 进程的一部分运行时抛出异常

我正在使用TFS2012从VisualStudio2015构建和部署解决方案,没有任何问题。我决定将我的单元测试作为构建过程先决条件的一部分。独立于msbuild进程,单元测试运行没有问题并成功;但是,当我将它们合并为构建过程的一部分时,我在构建中遇到以下异常:ExceptionNUnit.Core.UnsupportedFrameworkException,ExceptionthrownexecutingtestsinD:\Builds\4\PA1111CE\Dev1111dBus\bin\mmmTests.dllNotestisavailableinD:\Builds\4\PA11

c# - Nunit:是否可以让测试出现嵌套

我想测试一个具有高圈复杂度的方法(叹息),我想在测试类中有一个类,这样一个方法测试类就会作为树中的一个节点出现。Nunit是否可行?如何实现?MyEntityTests|L_MyComplexMethodTestsLwhen_some_condition_thanLwhen_some_other_condition_than[TestFixture]publicclassMyEntityTests{[TestFixture]publicclassMyComplexMethodTests{[Test]publicvoidwhen_some_condition_than(){}etc...

c# - 带参数的 Nunit 测试设置方法

我们可以有一个带参数的测试设置方法吗?我需要为夹具中的每个测试进行不同的设置。我们是否有一些(或类似的方式)作为假设的想法:[SetUp][Argument("value-1")][Argument("value-2")][Argument("value-3")]publicvoidInitializeTest(stringvalue){//setenvvarwithvalue} 最佳答案 可以使用带有参数的TestFixture属性来完成。如果类中的所有测试都依赖于相同的参数,这就是方法。该类需要一个构造函数,该构造函数具有传递给