Как я могу получить покрытие кода для основного веб-приложения .net, предназначенного для сети 452 в VS2017 (или VS2015)?
Мои тесты настроены с помощью xUnit, но я не получаю результатов покрытия для основного веб-приложения .net. Тесты проходят нормально, но я не получаю покрытия!
Это известная проблема?
Он также не работает с тестовой библиотекой MS.
Быстро воспроизвести:
- Загрузите VS2017
- Создайте новое основное веб-приложение ASP.NET (.NET Framework) с именем
WebApplication1
. - Создайте
TestClass.cs
, как показано ниже - Создайте новый проект модульного тестирования (.NET Framework) с именем
UnitTestProject1
. - Добавить ссылку на
WebApplication1
вUnitTestProject1
- Отредактируйте
UnitTest1.cs
, как показано ниже. - Беги
Test -> Analyze Code Coverage -> All Tests
- Открыть
Test -> Windows -> Code Coverage Results
- Покрытие кода показывает только
unittestproject1.dll
TestClass.cs
namespace WebApplication1
{
public class TestClass
{
public bool TestMethod(bool test)
{
if (test) { return true; }
return false;
}
}
}
UnitTest1.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject3
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var testClass = new WebApplication1.TestClass();
var val = testClass.TestMethod(true);
Assert.IsTrue(val);
}
}
}