如何运行NUnit测试?
我想有一个独立的项目,它将测试通过USB连接的远程系统的一些function。
所以我想在我的应用程序中使用NUnit的所有function。
我目前写道:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using NUnit.Framework; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.ReadLine(); } } [TestFixture] public class MyTest { [Test] public void MyTest() { int i = 3; Assert.AreEqual(3, i); } } }
如何运行我的测试套件以及如何获得测试报告?
我知道两种可能的解决方案来实现你想要的。 NUnit团队在nuget上发布了NUnit Engine和NUnit Console 。
使用NUnit引擎
using NUnit.Engine; using NUnit.Framework; using System.Reflection; using System.Xml; using System; public class Program { static void Main(string[] args) { // set up the options string path = Assembly.GetExecutingAssembly().Location; TestPackage package = new TestPackage(path); package.AddSetting("WorkDirectory", Environment.CurrentDirectory); // prepare the engine ITestEngine engine = TestEngineActivator.CreateInstance(); var _filterService = engine.Services.GetService(); ITestFilterBuilder builder = _filterService.GetTestFilterBuilder(); TestFilter emptyFilter = builder.GetFilter(); using (ITestRunner runner = engine.GetRunner(package)) { // execute the tests XmlNode result = runner.Run(null, emptyFilter); } } [TestFixture] public class MyTests { // ... } }
从nuget安装Nuget Engine软件包以运行此示例。 结果将在result
变量中。 每个想要使用此软件包的人都会收到警告:
它不适合仅想运行测试的用户直接使用。
使用标准NUnit控制台应用程序
using NUnit.Framework; using System.Reflection; class Program { static void Main(string[] args) { string path = Assembly.GetExecutingAssembly().Location; NUnit.ConsoleRunner.Program.Main(new[] { path }); } [TestFixture] public class MyTests { // ... } }
从nuget安装NUnit Engine和NUnit Console软件包。 在项目中添加对nunit3-console.exe
的引用。 结果将保存在TestResult.xml
文件中。 我不喜欢这种方法,因为你可以使用简单的批处理文件来实现同样的目的。
上述就是C#学习教程:如何运行NUnit测试?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1273244.html