2017-01-31 5 views
10

Последняя версия VS Code уже предоставляет простой способ запуска одного теста, указанного на Tyler Long's answer, на вопрос Debugging xunit tests in .NET Core and Visual Studio Code.Как выполнить все тесты в Visual Studio Code

Тем не менее, я смотрю, как я могу запустить все тесты, содержащиеся в классе набора тестов в VS Code (без отладки)?

Единственный способ, которым я нашел добавлял к launch.json конкретной конфигурации как следующее одно, но я могу работать только в отладке (я хотел бы, чтобы запустить его без отладки):

{ 
    "name": ".NET Core Xunit tests", 
    "type": "coreclr", 
    "request": "launch", 
    "preLaunchTask": "build", 
    "program": "/usr/local/share/dotnet/dotnet", 
    "args": ["test"], 
    "cwd": "${workspaceRoot}/test/MyProject.Tests", 
    "externalConsole": false, 
    "stopAtEntry": false, 
    "internalConsoleOptions": "openOnSessionStart" 
} 

ответ

8

Вы можете запустить все тесты в проекте, выполнив dotnet test на терминале. Это удобно, если у вас уже открыт терминал, но вы можете добавить его и в код Visual Studio.

Если нажать Cmd - сдвиг - P, чтобы открыть командную палитру и типа "тест", вы можете запустить Run Test Task команду. По умолчанию, это не делает ничего, но вы можете редактировать tasks.json, чтобы сказать ему, как запустить dotnet test для вас:

tasks.json

{ 
    "version": "0.1.0", 
    "command": "dotnet", 
    "isShellCommand": true, 
    "args": [], 
    "tasks": [ 
    { 
     "taskName": "build", 
     "args": [ ], 
     "isBuildCommand": true, 
     "showOutput": "silent", 
     "problemMatcher": "$msCompile" 
    }, 
    { 
     "taskName": "test", 
     "args": [ ], 
     "isTestCommand": true, 
     "showOutput": "always", 
     "problemMatcher": "$msCompile" 
    } 
    ] 
} 

Эти два определения задач будет связать Run Задайте задачу и Запустите тестовую задачу команды в коде Visual Studio до dotnet build и dotnet test, соответственно.

8

Существует гораздо более простой способ выполнить все тесты:

  1. Установите .NET Core Test Explorer расширение
  2. Откройте .NET тестовый проект ядра в VS Кодекса, или установить dotnet-test-explorer.testProjectPath на путь к папке с .NET Ядра тестовый проект в settings.json
  3. в .NET проводнике Test зрения проводника, все тесты будут автоматически обнаружены, и вы в состоянии выполнить все тесты или определенный тест

test-explorer

0

Как и ответ @Nate Barbettini, но для .Net Core Standard 2.0 (netcoreapp2.0).

{ "version": "2.0.0", "tasks": [ { "label": "test", "command": "dotnet test path/to/test-project.csproj", "type": "shell", "group": "test", "presentation": { "reveal": "silent" }, "problemMatcher": "$msCompile" } ] }

2

Чтобы построить на ответ GraehamF, от конфигурации требуется tasks.json для Dotnet 2.0 отличается.

{ 
"version": "2.0.0", 
"tasks": [ 
    { 
     ... 
    }, 
    { 
     "label": "test", 
     "command": "dotnet", 
     "type": "shell", 
     "group": "test", 
     "args": [ 
      "test", 
      "${workspaceFolder}/testprojectfolder/testprojectname.csproj" 
     ], 
     "presentation": { 
      "reveal": "silent" 
     }, 
     "problemMatcher": "$msCompile" 
    } 
] 

Я обнаружил, что, когда Visual Studio и VS кода одновременно установлены, поставив ссылку csproj в свойстве команды (как в ответ GraehamF в) в результате Visual Studio открывается, а не тесты которые запускаются в VS Кодекса.

(Я бы поставил это в комментарии, но у меня недостаточно очков репутации.)

Смежные вопросы