# Running tests

AppVeyor has tight integration with the following testing frameworks:

This does not, however, mean you can’t run your own favourite testing frameworks (like Jasmine, JSLint, Pester) within AppVeyor, but rather that AppVeyor provides automatic discovery, execution and real-time reporting for the frameworks listed above.

In most cases you are good to go with the default Auto testing mode. This mode tells AppVeyor to recursively search the build folder for test assemblies referencing known frameworks, run tests with corresponding test runners, and push results back to the build console.

## Selecting assemblies and/or categories to test

By default, Auto mode scans the entire build folder. For large projects this could be a time-consuming operation.

In the Test assemblies box you can specify one of the following (as Only assemblies below or All except assemblies below):

1. Exact path to an assembly relative to build root folder, for example myproject\bin\debug\myassembly.dll.
2. Assembly file name without a path - this case AppVeyor will perform recursive search of all assemblies with the given name.
3. Wildcard. If wildcard is used it should be full relative path. For example, to scan all folders recursively for test-assembly.dll specify **\*.test-assembly.dll.

To match an assembly in a specific folder:

**\bin\debug\test-assembly.dll


or if build configuration is set in environment variable:

$wc.UploadFile("https://ci.appveyor.com/api/testresults/xunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\xunit-results.xml))  XML files must be uploaded as multipart/form-data. The following example illustrates how you can collect all JUnit test results and upload them using bash, find and curl: on_finish: - sh: | find "$APPVEYOR_BUILD_FOLDER" -type f -name 'TEST*.xml' -print0 | xargs -0 -I '{}' curl -F 'file=@{}' "https://ci.appveyor.com/api/testresults/junit/$APPVEYOR_JOB_ID"  ### Transform CTest results to JUnit If using CTest you can still upload your XML test results. With CTest v3.21 or newer, use the --output-junit <file> command line option or the OUTPUT_JUNIT <file> argument to ctest_test(). For older versions of CTest, transform Test.xml into JUnit.xml with the help of this open source template. See the example script below. $XSLInputElement = New-Object System.Xml.Xsl.XslCompiledTransform
$XSLInputElement.Load("https://raw.githubusercontent.com/rpavlik/jenkins-ctest-plugin/master/ctest-to-junit.xsl") #transform test results from ctest to junit format$XSLInputElement.Transform((Resolve-Path .\<your_test_results_xml>), (Join-Path (Resolve-Path .) "ctest-to-junit-results.xml"))
$wc = New-Object 'System.Net.WebClient'$wc.UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\ctest-to-junit-results.xml))