0

考虑以下代码:

[Test, UseReporter(typeof(WinMergeReporter))]
public void Test()
{   
    var fileToVerify = "test.csv";
    Approvals.VerifyFile(fileToVerify);
}

每当我运行它时,文件“test.csv”都会被删除。在 ApprovalTests 源代码中,我看到收到的文件被删除,但我的印象是这适用于 .received。通常创建的文件。

顺便说一句,我没有看到任何 .received。在此实例中创建的文件。我的第一个问题是实际上在幕后发生了什么,因为代码不太有意义。我的下一个问题是如何防止“test.csv”被删除。

4

1 回答 1

1

您是对的,收到的文件在成功验证后被删除。在 VerifyFile 的情况下,您正在指定接收的文件,因此不会有特殊的命名,但您传递的文件被认为是接收的文件。

这通常是所需的行为,因为您每次运行测试时都希望生成该文件,否则测试的意义何在?

但是,如果您希望文件保留,因为您在测试后对其进行处理(通常不是一个好主意,但我不知道完整的故事),我建议制作一个临时副本以进行验证。

File.Copy(from,to);

快乐测试!
卢埃林

于 2014-08-18T23:34:10.900 回答