RevitDevTool.TestAdapter 0.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package RevitDevTool.TestAdapter --version 0.1.0
                    
NuGet\Install-Package RevitDevTool.TestAdapter -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RevitDevTool.TestAdapter" Version="0.1.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RevitDevTool.TestAdapter" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="RevitDevTool.TestAdapter">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RevitDevTool.TestAdapter --version 0.1.0
                    
#r "nuget: RevitDevTool.TestAdapter, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RevitDevTool.TestAdapter@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RevitDevTool.TestAdapter&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=RevitDevTool.TestAdapter&version=0.1.0
                    
Install as a Cake Tool

RevitDevTool.TestAdapter

Microsoft Testing Platform adapter that runs tests inside a CAD/BIM host. Requires RevitDevTool.

Currently supports NUnit and TUnit only. Pin the framework in the test project — the adapter does not pull either. It depends on Microsoft.Testing.Platform.MSBuild 2.4.0; do not add or override it. TUnit 1.67.0 and Microsoft.Testing.Platform 2.4.0 are a pair — pin both.

Package Version
NUnit 4.6.1
TUnit 1.67.0
Microsoft.Testing.Platform.MSBuild 2.4.0

NUnit and TUnit both work with every host below. Set HostName and HostVersion to the version you run. Include a compile-only host API package (discovery needs it). Do not copy host API DLLs next to the test output.

HostName: Revit, AutoCad, Civil3D, Plant3D, AcadArch, AcadMech, AcadElec, AcadMep, AcadMap3D.

Default engine is NUnit. Set TestingFramework to tunit to use TUnit. Do not use .runsettings.

NUnit (default)

<PropertyGroup>
  <HostName>Revit</HostName>
  <HostVersion>2025</HostVersion>
  <ForceLaunch>false</ForceLaunch>
  <PerTestTimeout>60</PerTestTimeout>
  <LaunchTimeout>180</LaunchTimeout>
</PropertyGroup>
<ItemGroup>
  <PackageReference Include="RevitDevTool.TestAdapter" Version="0.1.0" />
  <PackageReference Include="NUnit" Version="4.6.1" />
  <PackageReference Include="Revit_All_Main_Versions_API_x64" Version="2025.0.*"
    IncludeAssets="build; compile" PrivateAssets="All" />
</ItemGroup>

TUnit

<PropertyGroup>
  <HostName>Revit</HostName>
  <HostVersion>2025</HostVersion>
  <ForceLaunch>false</ForceLaunch>
  <PerTestTimeout>60</PerTestTimeout>
  <LaunchTimeout>180</LaunchTimeout>
  <TestingFramework>tunit</TestingFramework>  
</PropertyGroup>
<ItemGroup>
  <PackageReference Include="RevitDevTool.TestAdapter" Version="0.1.0" />
  <PackageReference Include="TUnit" Version="1.67.0" />
  <PackageReference Include="Revit_All_Main_Versions_API_x64" Version="2025.0.*"
    IncludeAssets="build; compile" PrivateAssets="All" />
</ItemGroup>

Targeting net48 (Revit / AutoCAD 2024 and older)

Do not add <RuntimeIdentifier> on net8 / net10. The package flattens testhost output (AppendRuntimeIdentifierToOutputPath=false). Restore cannot read a RID from this package (NETSDK1047 if the props set one). On net8 / net10 a project-level RID also nests testhost output under win-x64, which Test Explorer can bind instead of the current build.

Central Polyfill

Host-test projects do not need Polyfill. NUnit never uses it. net48 TUnit gets [ModuleInitializer] from this package.

If the repo uses central package management with a GlobalPackageReference named Polyfill (typical in Revit add-in trees), remove it on the test project or TUnit restore can duplicate the package (NU1504) and a second declaration can collide (CS0436):

<GlobalPackageReference Remove="Polyfill" />

Leave NetFxModuleInitializer unset. The package compiles ModuleInitializerAttribute into net4x TUnit projects and already skips when Polyfill or a compile item named ModuleInitializerAttribute.cs is present.

Set it to false when that skip cannot see your type (otherwise CS0436): the attribute lives in a differently named file, you use PolySharp / a polyfill package not named Polyfill, or you restore Polyfill yourself and set EnableTUnitPolyfills=true.

<NetFxModuleInitializer>false</NetFxModuleInitializer>

NUnit and net8.0-windows / net10.0-windows ignore NetFxModuleInitializer.

dotnet test needs this in global.json. Put it on the repo root when the whole repo's dotnet test surface is MTP. One VSTest leftover: keep MTP at root and put "runner": "VSTest" (plus sdk) in that project's folder. Scope MTP next to the test project only when many non-MTP tests share the tree.

{
  "sdk": { "version": "10.0.0", "rollForward": "latestMinor" },
  "test": { "runner": "Microsoft.Testing.Platform" }
}
dotnet test --project path/to/Host.Tests/Host.Tests.csproj -c Debug --filter MethodName

--filter is a test method name or substring. Run dotnet test from a directory covered by that global.json (repo root when the runner is there). A VSTest override is cwd-only: cd into that folder before dotnet test.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed.  net10.0-windows7.0 is compatible. 
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.1 0 9/21/2026
0.1.0 90 9/13/2026
0.0.6 103 9/8/2026
0.0.5 94 9/8/2026
0.0.4 93 9/4/2026
0.0.3 104 8/23/2026
0.0.2 108 8/20/2026
0.0.1 108 8/18/2026