1 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
不可能完全從發(fā)布的代碼中看到問題所在。而且,我感謝為此制作MCVE會(huì)有多艱巨。因此,我將進(jìn)行兩個(gè)猜測(cè)。
猜測(cè)1:我懷疑是您的問題的起因是static
在代碼中使用s,特別是與記錄器有關(guān)。
我懷疑正在發(fā)生的事情是其他測(cè)試(未在帖子中顯示)也在修改/定義記錄器的行為,并且由于記錄器是靜態(tài)的,因此這些測(cè)試相互干擾。
嘗試重新設(shè)計(jì)代碼,以便使用serilog的ILogger接口將日志記錄功能的實(shí)例依賴注入到測(cè)試中的類中,并將其存儲(chǔ)在只讀字段中,并在需要記錄時(shí)使用。
猜想2:根據(jù)帖子中“在測(cè)試的構(gòu)造函數(shù)中設(shè)置...”這一部分,您尚未說出(或標(biāo)記)您正在使用的測(cè)試框架。但是我用過的少數(shù)工具希望您在屬性方法中而不是在測(cè)試的構(gòu)造函數(shù)中執(zhí)行這種操作。例如,NUnit具有OneTimeSetUp(在運(yùn)行該類中的任何測(cè)試之前),SetUp(在運(yùn)行該類中的每個(gè)測(cè)試之前),TearDown(在運(yùn)行該類中的每個(gè)測(cè)試之后),OneTimeTearDown(在所有測(cè)試之后)在該類中運(yùn)行)。測(cè)試的構(gòu)造函數(shù)可能會(huì)以您不期望的順序被調(diào)用,并且測(cè)試框架不支持該順序。而屬性方法的順序由框架保證。
- 1 回答
- 0 關(guān)注
- 444 瀏覽
添加回答
舉報(bào)