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

NUnit中的断点和停止调试-如何终止测试?,nunit,Nunit,很抱歉,这是一个奇怪的用例,但请容忍我 我有一个简单的TestFixture(如下所示),除了调用PrimeService检查一个数字是否为prime之外,每当一个例程被点击时(即OneTimeSetup、Setup、onetimeeardown等)都会记录到一个文件中 有人能给我解释一下为什么如果我运行下面的场景,TestFixture会完整地运行吗 我在测试中将断点放在断言之前 我在VS(2019)中启动“调试测试”过程 当测试暂停时(第一次测试时会自然停止),我按下“停止调试”按钮(shi

很抱歉,这是一个奇怪的用例,但请容忍我

我有一个简单的TestFixture(如下所示),除了调用PrimeService检查一个数字是否为prime之外,每当一个例程被点击时(即OneTimeSetup、Setup、onetimeeardown等)都会记录到一个文件中

有人能给我解释一下为什么如果我运行下面的场景,TestFixture会完整地运行吗

  • 我在测试中将断点放在断言之前
  • 我在VS(2019)中启动“调试测试”过程
  • 当测试暂停时(第一次测试时会自然停止),我按下“停止调试”按钮(shift F5)
  • 如果我打开日志文件,我会看到所有3个测试都运行了,就像拆卸和最终拆卸一样

    很抱歉,我只是想了解引擎盖下发生了什么,以及是否有办法终止暂停的测试运行

    谢谢

     [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");
            }
    

    停止调试终止正在调试的进程,如果程序 从Visual Studio启动。如果你加入了这个过程, 该过程将继续,而不是从VisualStudio启动它 跑步如果要终止附加的进程,可以 从“进程”窗口终止单个进程或终止所有进程 附加了终止所有命令的进程