次の方法で共有


NUnit From VS

Last week I found the best VS+NUnit add in I know until now: https://www.mailframe.net/Products/TestRunner.htm

It works great, however I got some errors related to the credentials of the process running your test fixtures (I was trying to find a certificate in the User Store, running the TestSuite from VS AddIn points to a different store that when you run the tests from the original NUnit)

So I keep my old macro to configure the VS Project to be launched from NUnit. (here is the VB Macro for VS.NET)

 

Imports System

Imports EnvDTE

Imports System.Diagnostics

Imports VSLangProj

#Region "Path to NUnit"

Public Module NUnitConstants

    Public Const BASE_PATH As String = "c:\Program Files\NUnit v2.1\bin\"

    Public Const NUNIT_FX As String = BASE_PATH & "nunit.framework.dll"

    Public Const NUNITGUI_RUNNER As String = BASE_PATH & "nunit-gui.exe"

End Module

#End Region

Public Module TestProjectConfigurator

    Dim currentProject As VSProject

#Region "Private"

    Private Sub addReference(ByVal referencePath As String)

        currentProject.References.Add(referencePath)

    End Sub

    Private Sub setDebugProperties(ByVal runnerPath As String)

        Dim assemblyName As EnvDTE.Property = CType(currentProject.Project.Properties.Item("AssemblyName"), EnvDTE.Property)

        Dim configProps As Properties = currentProject.Project.ConfigurationManager.ActiveConfiguration.Properties

        With configProps

            .Item("StartAction").Value = prjStartAction.prjStartActionProgram

       .Item("StartProgram").Value = runnerPath

            .Item("StartArguments").Value = assemblyName.Value + ".dll"

        End With

    End Sub

    Private Sub setBuildEvents()

        Dim configProps As Properties = currentProject.Project.Properties

        Dim appConfigCmd = "copy ""$(ProjectDir)App.config"" ""$(TargetDir)$(TargetFileName).config"""

      

        With configProps

            .Item("PreBuildEvent").Value = appConfigCmd

        End With

    End Sub

    Private Sub configureProject()

        addReference(NUNIT_FX)

        setDebugProperties(NUNITGUI_RUNNER)

        setBuildEvents()

    End Sub

#End Region

    Public Sub Run()

        currentProject = DTE.ActiveSolutionProjects(0).Object

        configureProject()

    End Sub

    Public Sub ResetConfig(ByVal nada As Object)

        currentProject = DTE.ActiveSolutionProjects(0).Object

    End Sub

End Module

Comments

  • Anonymous
    March 21, 2004
    [.NET]NUnit for Visual Studio .NET
  • Anonymous
    March 26, 2004
    In the latest release, posted just now, the process for testing runs 'as you' instead of as a SYSTEM windows service. This should solve your security issue and match up more closely with the security context behavior of NUNIT-GUI.
  • Anonymous
    April 08, 2004
    The following are some things that have been stacking up in my inbox that I've been wanting to share. Teach yourself programming in 10 years [via Chris Anderson] Rob Howard shows us how to use the provider design pattern in...