草庐IT

c# - NUnit.Framework.Assert.IsInstanceOfType() 已过时

我正在读这本书ProfessionalEnterprise.NET我在一些示例程序中注意到了这个警告:'NUnit.Framework.Assert.IsInstanceOfType(System.Type,object)'isobsolete现在我可能已经回答了我自己的问题,但是要解决此警告是否只是将Assert.IsInstanceOfType()替换为Assert.IsInstanceOf()的情况?例如这个:Assert.IsInstanceOfType(typeof(ClassName),variableName);会变成:Assert.IsInstanceOf(typeof

windows - 从非托管代码写入 NUnit 的文本输出选项卡

我有一个用C++/CLI编写的NUnit测试dll,它测试一些非托管代码。有没有办法从非托管代码将日志消息打印到NUnit的文本输出选项卡?我试过OutputDebugString和cout,但没有雪茄。NUnit版本:2.5.10我知道这可能是不好的做法,但让我只做一次,好吗?:P 最佳答案 据我所知,没有任何方法可以在输出选项卡中捕获此输出。但是,NUnitGUI运行程序有一个未记录的选项/console,它创建一个单独的控制台,在该控制台上显示标准输出的任何非托管输出。它还可能捕获标准错误-我很久以前写过但不记得了。

c++ - 使用 NUnit 在 VS 2010 中调试 native /托管 C++

有没有一种方法可以使用NUnit和nativeC++和托管C++的混合项目来设置断点并单步执行断点?我将我的SUT(被测软件)配置为静态库(nativeC++)我将我的单元测试套件作为一个单独的项目配置为一个依赖于我之前声明的库的dll。我还添加了上述库作为对我的单元测试项目的引用。我的测试在NUnit中运行良好,只是断点不起作用。同样,有没有办法让断点与NUnit一起使用native/托管C++? 最佳答案 最方便的方法是设置一个自定义工具条目,将NUnit的路径指定为命令。对于VS2003C#项目,您可以使用$(TargetPa

c# - NUnit 使 tcp 连接保持事件状态

使用TcpListener的简单类(这只是为了展示问题,绝不意味着这个类有任何实际意义):usingSystem;usingSystem.Net.Sockets;namespaceNUnitTcp{publicclassFoo{TcpListenerlst;publicFoo(){lst=newTcpListener(System.Net.IPAddress.Parse("127.0.0.1"),9090);}~Foo(){lst.Stop();}publicvoidStart(){lst.Start();}publicvoidStop(){lst.Stop();}}}一个使用Foo的

c# - VS2017 和 NUnit 3.9 没有可用的测试

我使用的是最新的VS2017版本15.6.4、NUnit3TestAdapter3.10.0和Nunit版本3.9.0.0。当我尝试在测试资源管理器中运行单元测试时,测试显示为灰色,当我右键单击并运行选定的测试时,我看到以下错误:没有可用的测试这是我的测试类的样子[TestFixture]publicpartialclassListViewBOTest{[Test]publicvoidTestSearch_DateTime(){Assert.AreEqual(1,0);}}输出文本:[3/26/201810:53:55AMInformational]------Runteststart

c# - NUnit 比较两个列表

好的,我对单元测试还很陌生,到目前为止一切都很顺利。我在这里简化我的问题,但基本上我有以下内容:[Test]publicvoidListTest(){varexpected=newList();expected.Add(newMyOtherClass());varactual=newList();actual.Add(newMyOtherClass());Assert.AreEqual(expected,actual);//CollectionAssert.AreEqual(expected,actual);}但是测试失败了,测试不应该通过吗?我错过了什么?

c# - 如何从 C# 代码运行 NUnit 测试

我正在尝试编写一个简单的方法来接收文件并使用NUnit运行它。我设法使用NUnit的源代码构建的代码不起作用:if(openFileDialog1.ShowDialog()!=DialogResult.OK){return;}varbuilder=newTestSuiteBuilder();vartestPackage=newTestPackage(openFileDialog1.FileName);vardirectoryName=Path.GetDirectoryName(openFileDialog1.FileName);testPackage.BasePath=director

c# - 具有值数组的 NUnit 测试

我正在尝试将NUnit与values属性一起使用,这样我就可以指定许多不同的输入,而无需进行100次单独的测试。但是现在我意识到有时我想使用相同的输入集但在非常不同的测试中,如下所示。有没有一种方法可以在一个地方指定所有的值,比如一个数组,并将该数组用于每个值属性?我想确保测试作为100个单独的测试运行,而不是1个运行100个值的测试。我查看了Nunit文档,但找不到实现此目的的方法。有任何想法吗?代码:[Test]publicvoidTest1([Values("Value1","Value2","Value3",..."Value100")]stringvalue){//RunTe

c# - NUnit 中单个测试的超时

我知道NUnit中有一个超时属性。我的问题是单元测试实际上产生了一个新进程,如果卡住,它永远不会被NUnit杀死。我怎样才能实现真正摆脱流氓进程的超时? 最佳答案 您可以使用超时来断言,而不是整个测试方法的超时:Assert.That(actual,Is.EqualTo(expected).After(5000,50)); 关于c#-NUnit中单个测试的超时,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

c# - 使用 NUnit 测试任何类型的异常

我有一个创建文件的类。我现在正在进行集成测试以确保该类没问题。我正在传递无效的目录和文件名以确保抛出异常。在我的测试中,我正在使用:[Test]publicvoidCreateFile_InvalidFileName_ThrowsException(){//Arrangevarlogger=SetupLogger("?\\");//Act//AssertAssert.Throws(()=>logger.CreateFile());}但是在这种情况下,测试失败,因为抛出了ArgumentException。我认为只添加Exception它就会通过。有没有办法只使用Exception就可以