0

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,并且我们都没有安装任何差异工具。

但是,我可以在 VS 2012 中运行测试(弹出差异窗口),但不能在 VS2013 中运行。

版本:ApprovalTests.dll:3.0.0.0 Visual Studio:2012 Professional、2013 Professional

这里的任何帮助将不胜感激。谢谢!

4

2 回答 2

0

你能运行它看看会发生什么吗?

Approvals.SetCaller();
Assert.IsTrue(VisualStudioReporter.INSTANCE.IsWorkingInThisEnvironment("a.txt"));
于 2016-07-24T05:27:43.710 回答
0

根据文档,应用“DiffReporter”属性将“在您的系统上启动最佳匹配 DiffReporter 的实例”。

不知道为什么它没有检测到 Visual Studio 附带的差异合并报告器和我的机器上安装的 Sourcegear 的差异合并。

安装tortoise svn对我有用,它现在会在 tortoise diff 工具中弹出 diff 窗口。

于 2016-07-27T08:55:12.233 回答