運行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