我有一个问题。
#if DEBUG
ca.ConveyancingAttorneyID = "C0B68DC3-C396-4264-880B-1A699C53A8CE";
ca.ConveyancingFirmID = "C0B68DC3-C396-4264-880B-1A699C53A8CE";
#endif
当我们在调试模式下运行时,我们会硬编码标识符。在发布模式下,显然是动态设置的。
现在当涉及到测试映射代码时,我必须这样做:(最初我只测试了“发布情况”,这将始终在调试模式下失败)
#if RELEASE
Guid id = new Guid("1A92CE5A-D956-486B-9B65-0A3630EF0285");
#endif
#if DEBUG
Guid id = new Guid("C0B68DC3-C396-4264-880B-1A699C53A8CE");
#endif
这不是理想的情况。而且要记住(并提醒队友)始终在发布模式下运行单元测试也很麻烦。我们没有持续集成设置,因此测试只在本地运行。
有没有一种方法可以强制NUnit / Visual Studio Testrunner / Resharper Testrunner始终在发布模式下运行测试?或者有更好的方法来解决这个问题,考虑到这些“#if DEBUG”代码块在解决方案中相当丰富。
#if DEBUG
Assert.Fail("...")
#endif
? - BrainSlugs83