Мое расширение NUnit (Аддон) не обнаруживается тестами NUnit, когда я запускаю его в VS2015
Я использую NUnit 3.6 в VS 2015 и пытаюсь создать расширение (Addon) для NUnit, но пока NUnit не обнаруживает аддон, я поместил его путь в файл.addins и все, что говорится в документации, но не повезло. если я запускаю модульный тест из консоли, он обнаруживает аддон, как и ожидалось. Вот код:
using NUnit.Engine;
using NUnit.Engine.Extensibility;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.WebRequestMethods;
namespace AddOn
{
[Extension]
[TypeExtensionPoint(
Description = "Test addon " )]
public class NUnitMonitor : ITestEventListener
{
public void OnTestEvent(string report)
{
System.IO.File.WriteAllText(@"D:\report.txt", report);
System.Diagnostics.Debug.WriteLine("TEST Report here : ", report);
}
}
}
1 ответ
Одна ошибка в вашем коде: точки расширения определены в самом NUnit, а не в вашем коде. Это точки, где NUnit может быть расширен. Таким образом, TypeExtensionPointAttribute не оказывает никакого влияния на ваш код, хотя это ничего не вредит.
Поскольку вы можете запускать расширение при использовании консоли, вы правильно установили его. Однако при работе в Visual Studio с тестовым адаптером NUnit 3 вы не используете эту копию механизма NUnit. Вместо этого вы используете личную копию, встроенную в сам адаптер.
Хотя это недокументировано, вы можете запустить расширение, создав .addins
файл в том же каталоге, где установлен движок, с указанием пути к вашему расширению. Это обычно только практично, если вы установили адаптер через пакет nuget.
В этом случае выполните следующие действия:
- Скопируйте свой плагин в удобное место в каталоге вашего проекта.
- Создать файл с расширением
.addins
в том же каталоге, где сборка двигателя была установлена nuget. - Добавить строку в
.addins
файл с путем к вашему расширению сборки.