gpt4 book ai didi

approval-tests - 我如何在运行时自动批准批准测试?

转载 作者:行者123 更新时间:2023-12-04 08:27:37 26 4
gpt4 key购买 nike

我正在使用 ApprovalTests.Net。我看到我可以指定各种报告。我想在运行单元测试时自动批准测试。我只需要临时执行此操作,或者在代码进行重大更改时执行此操作。这在使用 ApprovalResults.ForScenario 创建数据驱动的 ApprovalTests 时特别有用。

有没有办法做到这一点?

最佳答案

创建报告者而不是实现 IApprovalFailureReporter , 实现 IReporterWithApprovalPower . IReporterWithApprovalPower有一个额外的方法,ApprovedWhenReported您可以在那里完成批准测试的工作。
这是一个示例报告器,它将自动将接收到的文件复制到批准的文件中:

// Install-package ApprovalTests 
// Install-package ObjectApproval
public class AutoApprover : IReporterWithApprovalPower
{
public static readonly AutoApprover INSTANCE = new AutoApprover();

private string approved;
private string received;

public void Report(string approved, string received)
{
this.approved = approved;
this.received = received;
Trace.WriteLine(string.Format(@"Will auto-copy ""{0}"" to ""{1}""", received, approved));
}

public bool ApprovedWhenReported()
{
if (!File.Exists(this.received)) return false;
File.Delete(this.approved);
if (File.Exists(this.approved)) return false;
File.Copy(this.received, this.approved);
if (!File.Exists(this.approved)) return false;

return true;
}
}
然后,您可以按照指定任何批准者的方式在测试类或方法中使用它:
[UseReporter(typeof(AutoApprover))] 

关于approval-tests - 我如何在运行时自动批准批准测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37604285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com