【问题标题】:Is it possible to have MSpec & NUnit tests in a single project?是否可以在单个项目中进行 MSpec 和 NUnit 测试?
【发布时间】:2010-04-30 13:58:43
【问题描述】:

我有一个使用 NUnit 的单元测试项目。当我将 mspec (machine.specifications) 程序集添加到引用中时,ReSharper 和 TestDriven.Net 都停止运行 NUnit 测试并且只运行 mspec 测试。

有没有一种方法或设置允许 NUnit 和 mspec 测试共存并使用 R# 和 TD.Net 测试运行器在同一个项目中运行?

【问题讨论】:

    标签: nunit mspec


    【解决方案1】:

    我刚刚在 VS 2008 上使用 ReSharper 5.0 和 TestDriven.Net 3.0 RC2 以及以下代码对此进行了测试。

    using Machine.Specifications;
    
    using NUnit.Framework;
    
    namespace ClassLibrary1
    {
        [TestFixture]
        public class FooTests
        {
            [Test]
            public void Bar()
            {
                Assert.IsTrue(true);
            }
        }
    
        public class When_tests_are_run
        {
            It should_succeed = () => true.ShouldBeTrue();
        }
    }
    

    我无法重现您使用 ReSharper 描述的行为。首先,ReSharper 检测两个测试类,如绿色和黄色的装订线标记所示。右键单击项目并选择“运行单元测试”成功运行这两个测试。通过装订线图标单独运行它们也可以按预期工作。

    至于 TestDriven.Net,我不确定它是否支持在一个项目中使用多个测试框架的场景。当我在项目上“运行测试”时,只执行 MSpec 上下文。但是,在 NUnit TestFixture 内部单击时“运行测试”会执行 NUnit 测试。

    【讨论】:

    • 目前,我无法让 R# 运行任何 mspec 测试 :-( 我将不得不摆弄一下...... WRT TD.NET,它正在运行所有测试我想要的项目。我看到了与您相同的行为:-(
    • R# 没有运行任何测试是什么意思?你看到排水沟图标了吗?测试是否添加到单元测试会话窗口?执行测试后,单元测试图标是否变为灰色而不是绿色?
    【解决方案2】:

    确保在 ReSharper 中打开 MSpec。即使您“安装”了运行程序(手动或通过 bat 文件),默认情况下也不会打开它。打开它在

    ReSharper 菜单 |选项... |工具 |单元测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多