ApprovalTests DiffReporter爲如果測試失敗,則不會彈出差異窗口運行測試。 以下是我的代碼。ApprovalTests DiffReporter在測試失敗時不會彈出差異窗口
[UseReporter(typeof(DiffReporter))]
[TestClass]
public class ProjectEmployeeJsonTests
{
[TestMethod]
public void ToCommand()
{
var source = new EmployeeJson
{
firstName = "ABC",
lastName = "TestCarrier"
};
var destination = new EmployeeCommand();
var mapper = GetMapper();
mapper.Execute(source, destination);
Approvals.Verify(
JsonConvert.SerializeObject(
destination,
Formatting.Indented));
}
}
它在我的同事的一臺機器上彈出相同代碼的差異窗口。我們使用相同版本的Visual Studio具有相同的設置,並且我們都沒有安裝任何diff工具。
但是,我能夠在VS 2012中運行測試(彈出差異窗口),但不能在VS2013中運行測試。
版本: ApprovalTests.dll:3.0.0.0 的Visual Studio:2012專業版,專業版2013
這裏任何幫助將得到高度讚賞。謝謝!
我運行上面的代碼行,測試失敗,因爲「IsWorkingInThisEnvironment(」a.txt「)」返回false。 我進行了一些測試,這裏有一些有趣的地方: 1)先打開VS2013,然後打開VS2012,diff窗口沒有彈出,並且兩者都失敗。 2)關閉VS2013並在VS2012中運行測試,彈出diff窗口並通過Assert。 3)打開VS2013(VS2012仍然打開),當我在VS2013中運行測試時,差異窗口出現在VS2012中,VS 2013中的斷言通過。 –