NUnit中的断点并停止调试-如何终止测试?

问题描述

抱歉,这是一个奇怪的用例,但请多多包涵。

我有一个简单的TestFixture(如下所示),它在调用PrimeService来检查数字是否为质数时,每当执行例程(例如OneTimeSetup,Setup,OneTimeTearDown等)时,都会记录到文件中。

有人可以向我解释为什么如果我运行以下情况,TestFixture可以完整运行吗?

  1. 我在断言之前在测试中放置一个断点。
  2. 我在VS(2019)中启动“调试测试”过程
  3. 当测试暂停时(自然会在第一个测试中出现),我按下“停止调试”按钮(Shift F5)

如果我打开日志文件,将会看到所有3个测试都已运行,而TearDowns和最终Teardown也是如此。

抱歉,我只是想了解幕后情况,以及是否有办法终止暂停的测试运行。

谢谢。

 [TestFixture]
    public class PrimeService_IsPrimeShould
    {

        private NerdAnalysis.PrimeService _primeService;
        private System.IO.StreamWriter file;
        [OneTimeSetUp]
        public void OneTimeSetup()
        {
            file = new System.IO.StreamWriter(@"C:\Users\Fozzy Bear\source\repos\NunitTutorial\MyFile.txt");
            file.WriteLine("One time SetUp");

        }

        [SetUp]
        public void Setup()
        {
            _primeService = new NerdAnalysis.PrimeService();
            file.WriteLine("Setup");
        }
        [TestCase(-1)]
        [TestCase(0)]
        [TestCase(1)]
        public void IsPrime_lessthan2_pass(int value)
        {
            file.WriteLine("Running test for value " + value);
            var result = _primeService.IsPrime(value);
            Assert.IsFalse(result,"${ value} should not be prime");
            var breakLine = "break";
            Assert.Pass();

        }

        [OneTimeTearDown]
        public void FinalTearDown() {
            file.WriteLine("Final Teardown");
            file.Close();
            file.Dispose();
        }

        [TearDown]
        public void TearDown()
        { 
            file.WriteLine("Tear down");
        }

解决方法

来自http://msdn.microsoft.com/en-us/library/406kfbs1.aspx

如果程序停止调试,则终止正在调试的进程 是从Visual Studio启动的。如果您喜欢这个过程, 而不是从Visual Studio启动它,该过程继续 运行。如果要终止附加的进程,可以 从“进程”窗口终止单个进程或终止所有进程 使用“全部终止”命令附加进程。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...