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.