小编Joh*_*ter的帖子

在发布模式下运行NUnit测试

我有个问题。

#if DEBUG
        ca.ConveyancingAttorneyID = "C0B68DC3-C396-4264-880B-1A699C53A8CE";
        ca.ConveyancingFirmID = "C0B68DC3-C396-4264-880B-1A699C53A8CE";
#endif
Run Code Online (Sandbox Code Playgroud)

在调试模式下运行时,我们对标识符进行硬编码。在发行版中,显然是动态设置的。

现在,当涉及到对映射代码进行单元测试时,我必须这样做:(最初我只是测试了“发布案例”,然后在调试模式下总是失败了)

#if RELEASE
        Guid id = new Guid("1A92CE5A-D956-486B-9B65-0A3630EF0285"); 
#endif
#if DEBUG
        Guid id = new Guid("C0B68DC3-C396-4264-880B-1A699C53A8CE"); 
#endif
Run Code Online (Sandbox Code Playgroud)

这是不理想的。而且必须记住(并提醒队友)始终在发布中运行单元测试也很麻烦。我们没有持续的集成设置,因此测试仅在本地运行。

有没有一种方法可以强制NUnit / Visual Studio Testrunner / Resharper Testrunner始终以发布模式运行测试?还是有更好的方法来解决此问题,请记住,解决方案中这类“ #if DEBUG”代码块非常丰富。

c# nunit unit-testing visual-studio

5
推荐指数
1
解决办法
2449
查看次数

标签 统计

c# ×1

nunit ×1

unit-testing ×1

visual-studio ×1