vsixtesting - VsixTesting.Xunit 0.1.78

VsixTesting allows you to easily test your Visual Studio Extensions.

PM> Install-Package VsixTesting.Xunit -Version 0.1.78 -Source https://www.myget.org/F/vsixtesting/api/v3/index.json

Copy to clipboard

> nuget.exe install VsixTesting.Xunit -Version 0.1.78 -Source https://www.myget.org/F/vsixtesting/api/v3/index.json

Copy to clipboard

> dotnet add package VsixTesting.Xunit --version 0.1.78 --source https://www.myget.org/F/vsixtesting/api/v3/index.json

Copy to clipboard
<PackageReference Include="VsixTesting.Xunit" Version="0.1.78" />
Copy to clipboard
source https://www.myget.org/F/vsixtesting/api/v3/index.json

nuget VsixTesting.Xunit  ~> 0.1.78
Copy to clipboard

> choco install VsixTesting.Xunit --version 0.1.78 --source https://www.myget.org/F/vsixtesting/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "vsixtesting" -SourceLocation "https://www.myget.org/F/vsixtesting/api/v2"
Install-Module -Name "VsixTesting.Xunit" -RequiredVersion "0.1.78" -Repository "vsixtesting" 
Copy to clipboard

VsixTesting

# Join the chat at https://gitter.im/josetr/VsixTesting CI Build status codecov MyGet

VsixTesting allows you to easily test your Visual Studio Extensions.

Image

It also supports Visual Studio 2019 / 2022.

Getting Started

The fastest way to get started is cloning the VsixTestingSamples repo and playing with it.

git clone https://github.com/josetr/VsixTestingSamples

Create the test project

TestProject.csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />

    <PackageReference Include="VsixTesting.Xunit" Version="0.1.65" /> 

    <!-- Optional package containing shell types used in this sample (VS2017 ~ VS2022) -->    
    <PackageReference Include="Microsoft.VisualStudio.Shell.15.0" Version="15.0.26201" /> 

    <!-- Optional package containing shell types used in this sample (VS2012 ~ VS2019) -->    
    <!-- <PackageReference Include="VSSDK.Shell.11" Version="11.0.4" /> -->

    <!-- Optional project reference to your VSIX Project -->
    <!-- <ProjectReference Include="..\MyVsixProject\MyVsixProject.csproj" /> -->
    <!--
       VsixTesting contains an MSBuild target that scans all project references
       and if they generate a .vsix package, it will copy them 
       to the output folder where the test assembly is located, which
       will cause VsixTesting to install such packages because all packages
       located next to the test assembly are installed by default.
    -->        
  </ItemGroup>
</Project>

TestClass.cs

using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
using Xunit;

namespace Tests
{  
    public class TestClass
    {
        [VsFact]
        void FactTest()
            =>  Assert.NotNull(Package.GetGlobalService(typeof(SVsWebBrowsingService)));

        [VsTheory]
        [InlineData(123)]
        void TheoryTest(int n)
        {
            Assert.NotNull(Package.GetGlobalService(typeof(SVsWebBrowsingService)));
            Assert.Equal(123, n);
        }
    }
}

Configuring how tests run

All the settings are located in ITestSettings and are implemented by 3 attributes:

  • [VsTestSettings] for classes/collections/assemblies
  • [VsFact] and [VsTheory] for methods

Intellisense should be used to read the documentation for each property that can be set.

License

This repository is licensed with the Apache, Version 2.0 license.

  • .NETFramework 4.5.2
    • EnvDTE (>= 8.0.0)
    • System.ValueTuple (>= 4.3.0)
    • xunit.extensibility.core (>= 2.3.1)
  • .NETFramework 4.5.2: 4.5.2.0

Owners

josetr

Authors

Jose Torres

Project URL

https://github.com/josetr/VsixTesting

License

Apache-2.0

Tags

VisualStudio, Extension, Testing, Xunit, VSIX

Info

133 total downloads
1 downloads for version 0.1.78
Download (442.71 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
0.1.78 442.71 KB Fri, 24 Nov 2023 20:58:18 GMT 1
0.1.77 442.7 KB Fri, 24 Nov 2023 20:39:40 GMT 1
0.1.76 441.28 KB Sun, 19 Feb 2023 10:22:54 GMT 1
0.1.75 441.1 KB Wed, 13 Jul 2022 10:28:23 GMT 1
0.1.75-gde139f4346 441.12 KB Wed, 13 Jul 2022 10:43:50 GMT 0
0.1.74-gb265fdee7a 441.11 KB Wed, 13 Jul 2022 09:55:08 GMT 0
0.1.74-g45974b4f80 441.13 KB Wed, 13 Jul 2022 09:50:25 GMT 1
0.1.74-g0abcd6ad82 440.16 KB Wed, 13 Jul 2022 08:38:42 GMT 1
0.1.73-g8347179bb9 439.73 KB Wed, 17 Nov 2021 00:11:02 GMT 0
0.1.72 439.8 KB Wed, 17 Nov 2021 01:16:41 GMT 0
0.1.72-gbbd700f91d 439.74 KB Tue, 16 Nov 2021 23:58:55 GMT 0
0.1.72-g20f2dac519 439.8 KB Wed, 17 Nov 2021 01:32:17 GMT 1
0.1.71-g596ffa006f 439.72 KB Tue, 16 Nov 2021 23:54:27 GMT 1
0.1.71-g32e57811c9 439.04 KB Sat, 16 Oct 2021 06:58:30 GMT 1
0.1.71-g12da9b5c47 439.02 KB Sat, 16 Oct 2021 07:17:08 GMT 1
0.1.70 438.9 KB Sat, 16 Oct 2021 06:36:49 GMT 1
0.1.69 438.93 KB Sat, 16 Oct 2021 06:29:03 GMT 1
0.1.68 438.87 KB Tue, 28 Sep 2021 04:01:16 GMT 1
0.1.67 438.89 KB Tue, 28 Sep 2021 03:56:43 GMT 0
0.1.66 438.88 KB Sat, 25 Sep 2021 09:51:48 GMT 1
0.1.65 437.95 KB Fri, 24 Sep 2021 23:59:58 GMT 0
0.1.65-beta-gcae3996a52 407.43 KB Tue, 21 Sep 2021 06:18:11 GMT 1
0.1.64 437.95 KB Fri, 24 Sep 2021 22:36:23 GMT 1
0.1.64-g7780cc1319 438.25 KB Tue, 21 Sep 2021 18:59:44 GMT 1
0.1.64-g5ab9d8871a 439.64 KB Thu, 23 Sep 2021 14:29:37 GMT 1
0.1.64-g08422e7fb6 407.43 KB Fri, 24 Sep 2021 07:40:58 GMT 1
0.1.64-beta-g5d25316cb7 407.4 KB Tue, 21 Sep 2021 06:13:42 GMT 1
0.1.63 437.96 KB Fri, 24 Sep 2021 22:25:03 GMT 2
0.1.63-gb39f0281c9 438.29 KB Tue, 21 Sep 2021 16:32:55 GMT 0
0.1.63-g8167bd24c4 438.29 KB Tue, 21 Sep 2021 18:54:44 GMT 1
0.1.63-g1978b4ccf4 439.27 KB Thu, 23 Sep 2021 14:06:04 GMT 1
0.1.62 437.95 KB Fri, 24 Sep 2021 21:24:40 GMT 1
0.1.62-gebb8c5bf1b 438.25 KB Tue, 21 Sep 2021 18:49:50 GMT 1
0.1.62-gd5ac93729d 407.45 KB Fri, 24 Sep 2021 08:00:12 GMT 1
0.1.62-gca94eb4fd3 407.42 KB Fri, 24 Sep 2021 02:11:15 GMT 1
0.1.62-gb9b6da7624 407.52 KB Sat, 16 Oct 2021 04:56:32 GMT 1
0.1.62-gaa71a4543c 437.91 KB Tue, 21 Sep 2021 10:17:36 GMT 1
0.1.62-g9d812677a1 438.38 KB Tue, 21 Sep 2021 19:07:18 GMT 1
0.1.62-g7b890cef87 437.95 KB Thu, 23 Sep 2021 21:38:36 GMT 1
0.1.62-g75f872c4c9 438.9 KB Thu, 23 Sep 2021 14:01:24 GMT 1
0.1.62-g6d92749f13 438.88 KB Thu, 23 Sep 2021 13:37:04 GMT 1
0.1.62-g51f6116c47 407.41 KB Tue, 21 Sep 2021 09:42:20 GMT 1
0.1.62-g306c0fa2ab 407.44 KB Fri, 24 Sep 2021 02:03:44 GMT 1
0.1.62-g2d16eb7188 438.22 KB Tue, 21 Sep 2021 18:39:49 GMT 1
0.1.62-beta-gef89535e5e 407.43 KB Tue, 21 Sep 2021 06:02:21 GMT 0
0.1.62-beta-gc4c118cd42 407.39 KB Tue, 21 Sep 2021 05:01:31 GMT 1
0.1.61 407.36 KB Fri, 24 Sep 2021 01:49:42 GMT 1
0.1.61-ge900295d8b 437.88 KB Thu, 23 Sep 2021 20:29:57 GMT 1
0.1.61-ge16781b2b6 438.24 KB Tue, 21 Sep 2021 18:35:08 GMT 1
0.1.61-gb73de1fa3e 438.21 KB Tue, 21 Sep 2021 18:45:12 GMT 0
0.1.61-g49e1bc9437 407.44 KB Thu, 23 Sep 2021 22:07:25 GMT 0
0.1.61-g3edcb3c31a 438.03 KB Thu, 23 Sep 2021 15:37:18 GMT 0
0.1.61-g16c2fbe4c9 438.4 KB Tue, 21 Sep 2021 19:53:11 GMT 0
0.1.61-g05ba3f5be3 437.93 KB Thu, 23 Sep 2021 22:11:58 GMT 1
0.1.61-beta-gbadf628e26 407.4 KB Tue, 21 Sep 2021 05:58:02 GMT 1
0.1.61-beta-g1654dca9a7 407.42 KB Tue, 21 Sep 2021 04:52:12 GMT 1
0.1.60 407.38 KB Tue, 21 Sep 2021 09:49:49 GMT 1
0.1.60-beta-gb73889a148 407.42 KB Tue, 21 Sep 2021 04:27:01 GMT 1
0.1.60-beta-g8e4caae3ed 407.41 KB Tue, 21 Sep 2021 05:44:53 GMT 1
0.1.59-beta-gd6087ac039 407.43 KB Tue, 21 Sep 2021 04:22:28 GMT 1
0.1.59-beta-g6b0bd508db 407.43 KB Tue, 21 Sep 2021 05:40:40 GMT 1
0.1.58-beta-g8cae4c94fd 407.39 KB Tue, 21 Sep 2021 05:28:04 GMT 1
0.1.58-beta-g8b58343d4b 408.01 KB Sun, 02 Jun 2019 18:28:04 GMT 1
0.1.57-beta-gcfc1824e33 407.99 KB Sun, 02 Jun 2019 18:21:09 GMT 0
0.1.57-beta-gb131c8bf38 407.41 KB Fri, 10 Sep 2021 23:12:46 GMT 1
0.1.57-beta-g6cbe737c36 407.42 KB Tue, 21 Sep 2021 05:23:44 GMT 1
0.1.56-beta-ge0f0358af3 407.43 KB Tue, 21 Sep 2021 06:36:14 GMT 1
0.1.56-beta-gdf3cfec083 407.39 KB Fri, 10 Sep 2021 23:07:22 GMT 1
0.1.56-beta-g8d5394d871 407.42 KB Tue, 21 Sep 2021 05:09:39 GMT 1
0.1.55-beta-g3663974beb 407.4 KB Mon, 26 Apr 2021 22:08:44 GMT 1
0.1.55-beta 407.38 KB Mon, 26 Apr 2021 22:14:38 GMT 1
0.1.54-beta-g0c4e253938 407.99 KB Sun, 02 Jun 2019 18:38:00 GMT 1
0.1.54-beta 407.39 KB Fri, 11 Sep 2020 14:01:58 GMT 1
0.1.53-beta 407.28 KB Sun, 02 Jun 2019 17:02:50 GMT 0
0.1.51-beta-g8feffa31d5 407.25 KB Sun, 02 Jun 2019 12:49:16 GMT 0
0.1.51-beta 407.24 KB Mon, 01 Apr 2019 15:30:58 GMT 1
0.1.50-beta 407.27 KB Sun, 31 Mar 2019 04:10:11 GMT 1
0.1.49-beta-g4f61d06a06 407.21 KB Thu, 01 Nov 2018 03:22:37 GMT 1
0.1.49-beta 407.27 KB Sat, 12 Jan 2019 15:39:59 GMT 2
0.1.48-beta-ge9fa684cba 407.2 KB Thu, 01 Nov 2018 03:10:42 GMT 1
0.1.47-beta-ge0b0d85b6b 407.21 KB Tue, 30 Oct 2018 08:20:41 GMT 1
0.1.47-beta-gd14201178c 398.2 KB Sun, 28 Oct 2018 07:45:55 GMT 0
0.1.47-beta-gd057bed6f0 407.23 KB Tue, 30 Oct 2018 08:38:35 GMT 1
0.1.47-beta-g21630ff109 406.96 KB Tue, 30 Oct 2018 08:13:27 GMT 1
0.1.47-beta 407.21 KB Tue, 30 Oct 2018 08:57:26 GMT 1
0.1.46-beta-geada20016a 406.91 KB Tue, 30 Oct 2018 08:01:03 GMT 2
0.1.46-beta-g93e203feb3 406.49 KB Tue, 30 Oct 2018 06:53:14 GMT 1
0.1.46-beta-g8acc06fdb8 406.45 KB Tue, 30 Oct 2018 07:29:34 GMT 1
0.1.46-beta-g6bdeca0015 398.18 KB Sun, 28 Oct 2018 07:34:37 GMT 0
0.1.46-beta-g3578f97a2e 399.41 KB Mon, 29 Oct 2018 16:33:11 GMT 1
0.1.46-beta 406.91 KB Tue, 30 Oct 2018 08:28:23 GMT 1
0.1.45-beta 399.33 KB Mon, 29 Oct 2018 16:18:41 GMT 1
0.1.44-beta 393.87 KB Mon, 29 Oct 2018 16:04:40 GMT 0
0.1.43-beta-g1fed4a45c5 395.27 KB Thu, 25 Oct 2018 03:39:33 GMT 0
0.1.42-beta 392.71 KB Sat, 27 Oct 2018 04:57:24 GMT 2
0.1.41-beta-gd14a54d3ce 392.11 KB Thu, 25 Oct 2018 03:28:13 GMT 1
0.1.41-beta 392.1 KB Sat, 27 Oct 2018 04:47:56 GMT 2
0.1.40-beta-g49b7378e3b 391.06 KB Thu, 25 Oct 2018 04:08:10 GMT 1
0.1.40-beta 392.13 KB Wed, 24 Oct 2018 22:58:57 GMT 2
0.1.39-beta-ge14f2878e0 391.37 KB Wed, 17 Oct 2018 02:04:27 GMT 1
0.1.39-beta 389.88 KB Wed, 24 Oct 2018 13:13:36 GMT 1
0.1.38-beta-g6b91b368d9 393.51 KB Wed, 24 Oct 2018 22:39:46 GMT 1
0.1.38-beta-g4a66808121 390.03 KB Wed, 24 Oct 2018 12:42:46 GMT 0
0.1.38-beta 389.99 KB Wed, 24 Oct 2018 13:04:29 GMT 1
0.1.37-beta-gc485e6c99f 393.51 KB Wed, 24 Oct 2018 22:26:58 GMT 1
0.1.37-beta-g78cb887d0f 390.43 KB Tue, 16 Oct 2018 18:02:26 GMT 1
0.1.37-beta-g4f3ef6b113 391.35 KB Wed, 17 Oct 2018 01:51:03 GMT 0
0.1.37-beta 390.32 KB Wed, 17 Oct 2018 12:06:58 GMT 1
0.1.36-beta-gc01d2e9388 390.35 KB Tue, 16 Oct 2018 15:30:47 GMT 1
0.1.36-beta-ga0b43dff8d 392.62 KB Mon, 15 Oct 2018 18:49:50 GMT 1
0.1.36-beta-g729227eff7 392.9 KB Mon, 15 Oct 2018 14:31:47 GMT 1
0.1.36-beta-g70a855ff9f 392.89 KB Mon, 15 Oct 2018 13:59:34 GMT 1
0.1.36-beta-g2c36f902a0 393.48 KB Mon, 15 Oct 2018 15:42:09 GMT 1
0.1.36-beta 390.33 KB Tue, 16 Oct 2018 17:50:09 GMT 1
0.1.35-beta-gcb0f174de5 390.21 KB Wed, 10 Oct 2018 18:46:30 GMT 0
0.1.35-beta-gbc36fcd853 390.21 KB Wed, 10 Oct 2018 19:04:23 GMT 0
0.1.35-beta-g62a457297c 390.27 KB Wed, 10 Oct 2018 19:46:23 GMT 1
0.1.35-beta 390.33 KB Mon, 15 Oct 2018 00:49:28 GMT 1
0.1.34-beta-gefd836028e 390.21 KB Wed, 10 Oct 2018 16:36:04 GMT 0
0.1.34-beta 386.35 KB Wed, 10 Oct 2018 18:17:28 GMT 1
0.1.33-beta 386.39 KB Thu, 04 Oct 2018 04:45:03 GMT 0
0.1.32-beta 386.37 KB Wed, 03 Oct 2018 01:02:18 GMT 1
0.1.31-beta 386.36 KB Sun, 23 Sep 2018 14:26:08 GMT 0
0.1.30-beta 386.07 KB Sun, 23 Sep 2018 14:17:30 GMT 1
0.1.29-beta 384.95 KB Wed, 19 Sep 2018 00:28:59 GMT 1
0.1.28-beta-gf17ba36366 385.24 KB Mon, 17 Sep 2018 22:53:17 GMT 1
0.1.28-beta-gc5bd1d5f0f 385.21 KB Sun, 16 Sep 2018 09:46:25 GMT 1
0.1.28-beta-gc0097bdc94 385.26 KB Sat, 15 Sep 2018 20:22:15 GMT 1
0.1.28-beta-g234516a103 384.95 KB Wed, 19 Sep 2018 01:21:20 GMT 1
0.1.28-beta 384.94 KB Tue, 18 Sep 2018 08:08:32 GMT 1
0.1.25-beta-gc4b5521218 385.08 KB Sat, 15 Sep 2018 17:51:08 GMT 0
0.1.14-beta 384.6 KB Tue, 21 Aug 2018 06:59:06 GMT 12
0.1.11-beta-g818240bb1a 95.98 KB Mon, 20 Aug 2018 18:01:14 GMT 12