运行NUnit的测试中,我有一个问题。在释放模式
#if DEBUG
ca.ConveyancingAttorneyID = "C0B68DC3-C396-4264-880B-1A699C53A8CE";
ca.ConveyancingFirmID = "C0B68DC3-C396-4264-880B-1A699C53A8CE";
#endif
当我们在调试模式下运行时,我们对标识符进行硬编码。在发布中,它显然是动态设置的。现在
,当涉及到单元测试映射代码,我不得不这样做:(initally我只是测试的“释放的情况下”,这将随后alwasy在调试模式下失败)
#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'代码块在解决方案中非常丰富。
'我们没有一个持续集成设置,所以测试是只有永远在本地运行。“ - 这似乎是潜在的问题。 –
请跟我说说。在我加入之前,没有进行单元测试。 –
@JohanVenter'#if DEBUG''Assert.Fail(“...”)''endif'? – BrainSlugs83