ApprovalTests DiffReporter не появляется окно diff, когда тест не пройден

ApprovalTests DiffReporter не открывает окно diff после запуска теста, если тест не пройден. Ниже мой код.

[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));
    }
}

Он открывает окно diff для того же кода на одном из компьютеров моего коллеги. Мы используем одну и ту же версию Visual Studio с одинаковыми настройками, и у нас обоих не установлено никаких инструментов сравнения.

Тем не менее, я могу запустить тест в VS 2012 (окно diff выскочило), но не в VS2013.

Версии: ApprovalTests.dll: 3.0.0.0 Visual studio: 2012 Professional, 2013 Professional

Любая помощь здесь будет высоко ценится. Спасибо!

2 ответа

Можете ли вы запустить это и посмотреть, что происходит?

Approvals.SetCaller();
Assert.IsTrue(VisualStudioReporter.INSTANCE.IsWorkingInThisEnvironment("a.txt"));

Согласно документации, применение атрибута "DiffReporter" приведет к "Запуску экземпляра наиболее подходящего DiffReporter в вашей системе".

Не уверен, почему он не обнаружил репортер слияния diff, который поставляется вместе с Visual Studio, и diffge merge Sourcegear, установленный на моей машине.

Установка черепахи SVN работал для меня, он теперь всплывает окно diff в инструмент черепахи diff.

Другие вопросы по тегам