xUnit.net Runners for Devices
C# Pascal PowerShell
Latest commit f1e234d Feb 20, 2017 @onovotny onovotny update to auto suggest box


These runners enable xUnit.net tests to run on iOS and Android devices with Xamarin and on any UWP device.

The xUnit.net Device Runners are a sub-project of xUnit.net under the .NET Foundation. It is licensed under the Apache 2 license, which is approved by the OSI.

Continuous integration builds are available online via TeamCity.

For status updates to these runners, follow @onovotny on Twitter For status updates on xUnit.net, follow @xunit, @jamesnewkirk, @bradwilson

For information on contributing to xUnit.net, see xUnit.net Governance.

The xUnit.net logo was designed by Nathan Young.
The TeamCity server is sponsored by CenturyLink Cloud.

How to get started

xUnit.net supports both Portable Class Library (PCL) and platform specific projects for iOS and Android. Unit tests for Xamarin have two main components, which may reside in the same assembly.

  1. Assemblies containing tests: install the latest xUnit 2.1 package. Install-Package xUnit
  2. App for running the tests on a device or simulator: install the xUnit for Devices runner package. Install-Package xUnit.Runner.Devices

The runner package adds a starting AppDelegate (for iOS), MainActivity (for Android) or MainPage.xaml (UWP) that you should use instead of the one generated by the new project template. Unit tests in the application itself will be picked up automatically. Referenced assemblies that contain tests need to be manually specified as described in the sample code.

Platform support

  • Xamarin.Android
  • Xamarin.iOS
  • WPF/Desktop (future support planned)
  • UWP (Windows 10)

This is a work-in-progress

Basic functionality works -- tests are discoverable and runnable. There is a lot of room for improvements in each of the runner apps. Pull Requests are very welcome. One main requirement -- the runner assemblies should be self-contained; they should not pull in additional non-xunit libraries (except Xamarin.Forms).


  • Getting data back from runner to listening agent (remote)
  • trait display/filters
  • UI polish

Links to Resources