How to run xUnit test DLL in Commandline without building the project

Meysam picture Meysam · Jun 16, 2017 · Viewed 12.9k times · Source

I have a project in .NET Core and have built tests using xUnit. Now I wanted to run the test in deployment process. What I have done so far:

I used this command in commandline:

dotnet test [project address]  ... 

it is working but the problem is that this command get the .csproj file and not the dll.

I installed and used xunit.runner.console but its not working with .NET Core projects.

I used dotnet xunit command, this one also not helped while I cannot give it the dll it is also using the project folder.

What can I use to run my built test (dont want to build them again), any commandline tools that I can give my test dll as an input and it runs the test for me.

Answer

Ilya Chumakov picture Ilya Chumakov · Jun 17, 2017

You have several options here:

1. Use vstest command

dotnet vstest Foo.dll

to run tests from a dll. xUnit tests are supported. Documentation.

A single dll file only is not enough. Run dotnet vstest from your bin folder, which usually contains:

Foo.dll
Foo.deps.json
Foo.runtimeconfig.json
Foo.runtimeconfig.dev.json
Microsoft.Extensions.Logging.Test.dll
xunit.runner.reporters.netstandard15.dll
xunit.runner.utility.netstandard15.dll
xunit.runner.visualstudio.dotnetcore.testadapter.dll

This bin output is necessary to run the tests.

2. Skip the project build on test run

dotnet test --no-build