From a1085aac697ae3eefaff6a197cb986cf05a4d063 Mon Sep 17 00:00:00 2001 From: Charlie Poole Date: Tue, 10 Nov 2015 14:44:46 -0800 Subject: [PATCH 1/3] Fix #14; fix #68; fix #70; add mock-assembly to solution; correct tests and refactor --- NUnit3TestAdapter.sln | Bin 5940 -> 6934 bytes demo/NUnitTestDemo/NUnit3TestDemo.csproj | 4 +- demo/NUnitTestDemo/packages.config | 2 +- src/NUnitTestAdapter/NUnit3TestExecutor.cs | 25 ++++++++--- src/NUnitTestAdapter/NUnitTestAdapter.cs | 32 ++++++++------ src/NUnitTestAdapter/TestLogger.cs | 36 ++++++++-------- .../NUnit3TestAdapterTests.csproj | 11 ++--- .../TestDiscoveryTests.cs | 2 +- .../TestExecutionTests.cs | 18 ++++---- src/NUnitTestAdapterTests/app.config | 2 +- src/NUnitTestAdapterTests/packages.config | 2 +- src/mock-assembly/MockAssembly.cs | 40 ++---------------- src/mock-assembly/mock-assembly.csproj | 4 +- src/mock-assembly/packages.config | 2 +- 14 files changed, 83 insertions(+), 97 deletions(-) diff --git a/NUnit3TestAdapter.sln b/NUnit3TestAdapter.sln index 3ce714858d9cf134f30141f2a62b0f5ed31675a7..0aa7a30770930f80ffa7843b42db7f27eddc3e47 100644 GIT binary patch delta 499 zcmdm@H_dEA5BKCf%vtfd4EYSn4A~6242cZIK$yyq%aFv7!%)ef#Gu2V03?eUihwF& zfa17R;*py?n?=&qh{2V?n8A#}g24!g4S{wUGdM9g0@=C@CJY7)ra-I<6aleZfh+?c z3Bo2ob#6daZa|jFWJV6<%{|;LoRc5$vrx&%gF^9CGf8>!2LTHznYK|xeexeZ2kMx% Jd80@(69AefP8$FK delta 25 hcmbPcwncA45BKJ4JT07)KkzzD&SMhT>>_!I5de!w3E%(# diff --git a/demo/NUnitTestDemo/NUnit3TestDemo.csproj b/demo/NUnitTestDemo/NUnit3TestDemo.csproj index 9d91fc86..b8122160 100644 --- a/demo/NUnitTestDemo/NUnit3TestDemo.csproj +++ b/demo/NUnitTestDemo/NUnit3TestDemo.csproj @@ -36,9 +36,9 @@ false - + False - ..\packages\NUnit.3.0.0-beta-3\lib\net45\nunit.framework.dll + ..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll diff --git a/demo/NUnitTestDemo/packages.config b/demo/NUnitTestDemo/packages.config index 8d167761..f261bd5d 100644 --- a/demo/NUnitTestDemo/packages.config +++ b/demo/NUnitTestDemo/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/src/NUnitTestAdapter/NUnit3TestExecutor.cs b/src/NUnitTestAdapter/NUnit3TestExecutor.cs index e4802393..85a56fca 100644 --- a/src/NUnitTestAdapter/NUnit3TestExecutor.cs +++ b/src/NUnitTestAdapter/NUnit3TestExecutor.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Reflection; using System.Text; using System.Xml; using Microsoft.VisualStudio.TestPlatform.ObjectModel; @@ -76,6 +77,8 @@ public void RunTests(IEnumerable sources, IRunContext runContext, IFrame } catch (Exception ex) { + if (ex is TargetInvocationException) + ex = ex.InnerException; TestLog.SendErrorMessage("Exception thrown executing tests", ex); } finally @@ -223,21 +226,31 @@ private void RunAssembly(string assemblyName, IFrameworkHandle frameworkHandle) } catch (Exception ex) { + if (ex is TargetInvocationException) + ex = ex.InnerException; TestLog.SendErrorMessage("Exception thrown executing tests in " + assemblyName, ex); } _testRunner.Dispose(); } - private static TestFilter MakeTestFilter(IEnumerable testCases) + private TestFilter MakeTestFilter(IEnumerable testCases) { - var testFilter = new StringBuilder(""); + ITestFilterService filterService = TestEngine.Services.GetService(); + if (filterService == null) + throw new NUnitEngineException("TestFilterService is not available. Engine in use is incorrect version."); - foreach (TestCase testCase in testCases) - testFilter.AppendFormat("{0}", testCase.FullyQualifiedName.Replace("<", "<").Replace(">", ">")); + ITestFilterBuilder filterBuilder = filterService.GetTestFilterBuilder(); - testFilter.Append(""); + foreach (TestCase testCase in testCases) + { + string testName = testCase.FullyQualifiedName + .Replace("<", "<") + .Replace(">", ">") + .Replace("&", "&"); + filterBuilder.AddTest(testName); + } - return new TestFilter(testFilter.ToString()); + return filterBuilder.GetFilter(); } #endregion diff --git a/src/NUnitTestAdapter/NUnitTestAdapter.cs b/src/NUnitTestAdapter/NUnitTestAdapter.cs index 849380af..44bf6e11 100644 --- a/src/NUnitTestAdapter/NUnitTestAdapter.cs +++ b/src/NUnitTestAdapter/NUnitTestAdapter.cs @@ -2,6 +2,8 @@ // Copyright (c) 2011-2015 NUnit Software. All rights reserved. // **************************************************************** +//#define VERBOSE + using System; using System.Diagnostics; using System.IO; @@ -18,16 +20,16 @@ namespace NUnit.VisualStudio.TestAdapter /// public abstract class NUnitTestAdapter { + #region Properties + // The adapter version - private string _adapterVersion; + private string AdapterVersion { get; set; } // Verbosity in effect for message logging - private int _verbosity; + private int Verbosity { get; set; } // True if files should be shadow-copied - private bool _shadowCopy; - - #region Properties + private bool ShadowCopy { get; set; } protected ITestEngine TestEngine { get; private set; } @@ -66,15 +68,19 @@ public static bool IsRunningUnderIDE // each Discover or Execute method must call this method. protected virtual void Initialize(IMessageLogger messageLogger) { - _verbosity = 0; // In case we throw below - _adapterVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + Verbosity = 0; // In case we throw below + AdapterVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); try { var registry = RegistryCurrentUser.OpenRegistryCurrentUser(@"Software\nunit.org\VSAdapter"); UseVsKeepEngineRunning = registry.Exist("UseVsKeepEngineRunning") && (registry.Read("UseVsKeepEngineRunning") == 1); - _shadowCopy = registry.Exist("ShadowCopy") && (registry.Read("ShadowCopy") == 1); - _verbosity = (registry.Exist("Verbosity")) ? registry.Read("Verbosity") : 0; + ShadowCopy = registry.Exist("ShadowCopy") && (registry.Read("ShadowCopy") == 1); +#if DEBUG && VERBOSE + Verbosity = 1; +#else + Verbosity = (registry.Exist("Verbosity")) ? registry.Read("Verbosity") : 0; +#endif } catch (Exception e) { @@ -83,14 +89,14 @@ protected virtual void Initialize(IMessageLogger messageLogger) } TestEngine = new TestEngine(); - TestLog = new TestLogger(messageLogger, _verbosity); + TestLog = new TestLogger(messageLogger, Verbosity); } protected ITestRunner GetRunnerFor(string assemblyName) { var package = new TestPackage(assemblyName); - if (_shadowCopy) + if (ShadowCopy) { package.Settings["ShadowCopyFiles"] = "true"; TestLog.SendDebugMessage(" Setting ShadowCopyFiles to true"); @@ -111,14 +117,14 @@ protected ITestRunner GetRunnerFor(string assemblyName) protected void Info(string method, string function) { - var msg = string.Format("NUnit Adapter {0} {1} is {2}", _adapterVersion, method, function); + var msg = string.Format("NUnit Adapter {0} {1} is {2}", AdapterVersion, method, function); TestLog.SendInformationalMessage(msg); } protected void Debug(string method, string function) { #if DEBUG - var msg = string.Format("NUnit Adapter {0} {1} is {2}", _adapterVersion, method, function); + var msg = string.Format("NUnit Adapter {0} {1} is {2}", AdapterVersion, method, function); TestLog.SendDebugMessage(msg); #endif } diff --git a/src/NUnitTestAdapter/TestLogger.cs b/src/NUnitTestAdapter/TestLogger.cs index 1e2255e8..df07222f 100644 --- a/src/NUnitTestAdapter/TestLogger.cs +++ b/src/NUnitTestAdapter/TestLogger.cs @@ -19,14 +19,16 @@ namespace NUnit.VisualStudio.TestAdapter /// public class TestLogger : IMessageLogger { - private IMessageLogger _messageLogger; + private const string EXCEPTION_FORMAT = "Exception {0}, {1}"; - private int _verbosity; + private IMessageLogger MessageLogger { get; set; } + + private int Verbosity { get; set; } public TestLogger(IMessageLogger messageLogger, int verbosity) { - _messageLogger = messageLogger; - _verbosity = verbosity; + MessageLogger = messageLogger; + Verbosity = verbosity; } public void AssemblyNotSupportedWarning(string sourceAssembly) @@ -56,15 +58,15 @@ public void SendErrorMessage(string message) public void SendErrorMessage(string message, Exception ex) { - - switch (_verbosity) + switch (Verbosity) { case 0: - var type = ex.GetType(); - SendErrorMessage(string.Format("Exception {0}, {1}",type, message)); + Type type = ex.GetType(); + SendErrorMessage(string.Format(EXCEPTION_FORMAT, type, message)); + SendErrorMessage(ex.Message); break; default: - SendMessage(TestMessageLevel.Error, message); + SendErrorMessage(message); SendErrorMessage(ex.ToString()); break; } @@ -77,17 +79,17 @@ public void SendWarningMessage(string message) public void SendWarningMessage(string message,Exception ex) { - string fmt = "Exception {0}, {1}"; - var type = ex.GetType(); - - switch (_verbosity) + switch (Verbosity) { case 0: - SendMessage(TestMessageLevel.Warning, string.Format(fmt, type, ex.Message)); + var type = ex.GetType(); + SendWarningMessage(string.Format(EXCEPTION_FORMAT, type, message)); + SendWarningMessage(ex.Message); break; default: - SendMessage(TestMessageLevel.Warning, string.Format(fmt, type, ex.ToString())); + SendWarningMessage(message); + SendWarningMessage(ex.ToString()); break; } @@ -108,8 +110,8 @@ public void SendDebugMessage(string message) public void SendMessage(TestMessageLevel testMessageLevel, string message) { - if (_messageLogger != null) - _messageLogger.SendMessage(testMessageLevel, message); + if (MessageLogger != null) + MessageLogger.SendMessage(testMessageLevel, message); } } } diff --git a/src/NUnitTestAdapterTests/NUnit3TestAdapterTests.csproj b/src/NUnitTestAdapterTests/NUnit3TestAdapterTests.csproj index 2e5989a7..a7c13712 100644 --- a/src/NUnitTestAdapterTests/NUnit3TestAdapterTests.csproj +++ b/src/NUnitTestAdapterTests/NUnit3TestAdapterTests.csproj @@ -40,18 +40,15 @@ False $(MSBuildProgramFiles32)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll - - ..\mock-assembly\bin\Release\mock-assembly.dll - ..\..\lib\nunit.engine.dll ..\..\lib\nunit.engine.api.dll - + False - ..\..\packages\NUnit.3.0.0-beta-3\lib\net45\nunit.framework.dll + ..\..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll @@ -98,6 +95,10 @@ + + {2e368281-3ba8-4050-b05e-0e0e43f8f446} + mock-assembly + {8a85e26a-c706-48b1-bc36-06ebde3efd25} NUnit3TestAdapter diff --git a/src/NUnitTestAdapterTests/TestDiscoveryTests.cs b/src/NUnitTestAdapterTests/TestDiscoveryTests.cs index 3b6c8467..a94b8120 100644 --- a/src/NUnitTestAdapterTests/TestDiscoveryTests.cs +++ b/src/NUnitTestAdapterTests/TestDiscoveryTests.cs @@ -25,7 +25,7 @@ public class TestDiscoveryTests : IMessageLogger, ITestCaseDiscoverySink public void LoadMockassembly() { // Sanity check to be sure we have the correct version of mock-assembly.dll - Assert.That(NUnit.Tests.Assemblies.MockAssembly.Tests, Is.EqualTo(35), + Assert.That(NUnit.Tests.Assemblies.MockAssembly.Tests, Is.EqualTo(31), "The reference to mock-assembly.dll appears to be the wrong version"); // Load the NUnit mock-assembly.dll once for this test, saving diff --git a/src/NUnitTestAdapterTests/TestExecutionTests.cs b/src/NUnitTestAdapterTests/TestExecutionTests.cs index 1e62e2d4..f23b2522 100644 --- a/src/NUnitTestAdapterTests/TestExecutionTests.cs +++ b/src/NUnitTestAdapterTests/TestExecutionTests.cs @@ -19,10 +19,6 @@ namespace NUnit.VisualStudio.TestAdapter.Tests [Category("TestExecution")] public class TestExecutionTests { - // This constant compensates for the fact that that no - // events are sent for such tests. - private static readonly int TestsUnderBadOrIgnoredFixtures = BadFixture.Tests + IgnoredFixture.Tests; - private string MockAssemblyPath; static readonly IRunContext Context = new FakeRunContext(); @@ -38,7 +34,7 @@ public void LoadMockassembly() MockAssemblyPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "mock-assembly.dll"); // Sanity check to be sure we have the correct version of mock-assembly.dll - Assert.That(MockAssembly.Tests, Is.EqualTo(35), + Assert.That(MockAssembly.Tests, Is.EqualTo(31), "The reference to mock-assembly.dll appears to be the wrong version"); new List(); testResults = new List(); @@ -72,9 +68,11 @@ public void DumpEvents() public void CorrectNumberOfTestCasesWereStarted() { const FakeFrameworkHandle.EventType eventType = FakeFrameworkHandle.EventType.RecordStart; + foreach (var ev in testLog.Events.FindAll(e => e.EventType == eventType)) + Console.WriteLine(ev.TestCase.DisplayName); Assert.That( testLog.Events.FindAll(e => e.EventType == eventType).Count, - Is.EqualTo(MockAssembly.ResultCount - TestsUnderBadOrIgnoredFixtures)); + Is.EqualTo(MockAssembly.ResultCount - BadFixture.Tests - IgnoredFixture.Tests - ExplicitFixture.Tests)); } [Test] @@ -83,7 +81,7 @@ public void CorrectNumberOfTestCasesWereEnded() const FakeFrameworkHandle.EventType eventType = FakeFrameworkHandle.EventType.RecordEnd; Assert.That( testLog.Events.FindAll(e => e.EventType == eventType).Count, - Is.EqualTo(MockAssembly.ResultCount - TestsUnderBadOrIgnoredFixtures)); + Is.EqualTo(MockAssembly.ResultCount)); } [Test] @@ -92,15 +90,15 @@ public void CorrectNumberOfResultsWereReceived() const FakeFrameworkHandle.EventType eventType = FakeFrameworkHandle.EventType.RecordResult; Assert.That( testLog.Events.FindAll(e => e.EventType == eventType).Count, - Is.EqualTo(MockAssembly.ResultCount - BadFixture.Tests)); + Is.EqualTo(MockAssembly.ResultCount)); } static readonly TestCaseData[] outcomes = { // NOTE: One inconclusive test is reported as None new TestCaseData(TestOutcome.Passed).Returns(MockAssembly.Success), - new TestCaseData(TestOutcome.Failed).Returns(MockAssembly.ErrorsAndFailures - BadFixture.Tests), - new TestCaseData(TestOutcome.Skipped).Returns(MockAssembly.Ignored), + new TestCaseData(TestOutcome.Failed).Returns(MockAssembly.ErrorsAndFailures), + new TestCaseData(TestOutcome.Skipped).Returns(MockAssembly.Ignored + MockAssembly.Explicit), new TestCaseData(TestOutcome.None).Returns(1), new TestCaseData(TestOutcome.NotFound).Returns(0) }; diff --git a/src/NUnitTestAdapterTests/app.config b/src/NUnitTestAdapterTests/app.config index 31aaa4f6..4a37ac1b 100644 --- a/src/NUnitTestAdapterTests/app.config +++ b/src/NUnitTestAdapterTests/app.config @@ -4,7 +4,7 @@ - + diff --git a/src/NUnitTestAdapterTests/packages.config b/src/NUnitTestAdapterTests/packages.config index 8d167761..f261bd5d 100644 --- a/src/NUnitTestAdapterTests/packages.config +++ b/src/NUnitTestAdapterTests/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/src/mock-assembly/MockAssembly.cs b/src/mock-assembly/MockAssembly.cs index 9a75036d..08ecf265 100644 --- a/src/mock-assembly/MockAssembly.cs +++ b/src/mock-assembly/MockAssembly.cs @@ -46,8 +46,7 @@ public class MockAssembly + BadFixture.Tests + FixtureWithTestCases.Tests + ParameterizedFixture.Tests - + GenericFixtureConstants.Tests - + CDataTestFixure.Tests; + + GenericFixtureConstants.Tests; public const int Suites = MockTestFixture.Suites + Singletons.OneTestCase.Suites @@ -58,7 +57,6 @@ public class MockAssembly + FixtureWithTestCases.Suites + ParameterizedFixture.Suites + GenericFixtureConstants.Suites - + CDataTestFixure.Suites + NamespaceSuites; public const int Nodes = Tests + Suites; @@ -70,10 +68,10 @@ public class MockAssembly public const int Explicit = MockTestFixture.Explicit + ExplicitFixture.Tests; public const int NotRun = Ignored + Explicit + NotRunnable; public const int TestsRun = Tests - NotRun; - public const int ResultCount = Tests - Explicit; + public const int ResultCount = Tests; public const int Errors = MockTestFixture.Errors; - public const int Failures = MockTestFixture.Failures + CDataTestFixure.Failures; + public const int Failures = MockTestFixture.Failures; public const int NotRunnable = MockTestFixture.NotRunnable + BadFixture.Tests; public const int ErrorsAndFailures = Errors + Failures + NotRunnable; public const int Inconclusive = MockTestFixture.Inconclusive; @@ -297,36 +295,4 @@ public class GenericFixture [Test] public void Test2() { } } - - [TestFixture] - public class CDataTestFixure - { - public const int Tests = 4; - public const int Suites = 1; - public const int Failures = 2; - - [Test] - public void DemonstrateIllegalSequenceInSuccessMessage() - { - Assert.Pass("Deliberate failure to illustrate ]]> in message "); - } - - [Test] - public void DemonstrateIllegalSequenceAtEndOfSuccessMessage() - { - Assert.Pass("The CDATA was: ]]>"); - } - - [Test] - public void DemonstrateIllegalSequenceInFailureMessage() - { - Assert.Fail("Deliberate failure to illustrate ]]> in message "); - } - - [Test] - public void DemonstrateIllegalSequenceAtEndOfFailureMessage() - { - Assert.Fail("The CDATA was: ]]>"); - } - } } diff --git a/src/mock-assembly/mock-assembly.csproj b/src/mock-assembly/mock-assembly.csproj index 55803325..592a9c99 100644 --- a/src/mock-assembly/mock-assembly.csproj +++ b/src/mock-assembly/mock-assembly.csproj @@ -79,9 +79,9 @@ false - + False - packages\NUnit.3.0.0-beta-3\lib\net45\nunit.framework.dll + ..\..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll System diff --git a/src/mock-assembly/packages.config b/src/mock-assembly/packages.config index 8d167761..f261bd5d 100644 --- a/src/mock-assembly/packages.config +++ b/src/mock-assembly/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From ae6ebbc6f0eb1c4122b59bc249084fb79dce9fac Mon Sep 17 00:00:00 2001 From: Charlie Poole Date: Tue, 10 Nov 2015 14:57:52 -0800 Subject: [PATCH 2/3] Update version for CTP 6 --- demo/NUnitTestDemo/NUnit3TestDemo.csproj | 16 ++++++++++++++++ nunit3-vs-adapter.build | 2 +- src/NUnitTestAdapter/Properties/AssemblyInfo.cs | 4 ++-- .../source.extension.vsixmanifest | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/demo/NUnitTestDemo/NUnit3TestDemo.csproj b/demo/NUnitTestDemo/NUnit3TestDemo.csproj index b8122160..fcef7e2a 100644 --- a/demo/NUnitTestDemo/NUnit3TestDemo.csproj +++ b/demo/NUnitTestDemo/NUnit3TestDemo.csproj @@ -36,10 +36,26 @@ false + + ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\Mono.Cecil.dll + False + + + ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\nunit.engine.dll + False + + + ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\nunit.engine.api.dll + False + False ..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll + + ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\NUnit3.TestAdapter.dll + False + diff --git a/nunit3-vs-adapter.build b/nunit3-vs-adapter.build index 82e27523..0d0b9769 100644 --- a/nunit3-vs-adapter.build +++ b/nunit3-vs-adapter.build @@ -7,7 +7,7 @@ - + diff --git a/src/NUnitTestAdapter/Properties/AssemblyInfo.cs b/src/NUnitTestAdapter/Properties/AssemblyInfo.cs index 3359d9a9..2ab8fb98 100644 --- a/src/NUnitTestAdapter/Properties/AssemblyInfo.cs +++ b/src/NUnitTestAdapter/Properties/AssemblyInfo.cs @@ -21,5 +21,5 @@ [assembly: ComVisible(false)] [assembly: Guid("c0aad5e4-b486-49bc-b3e8-31e01be6fefe")] -[assembly: AssemblyVersion("3.0.5.0")] -[assembly: AssemblyFileVersion("3.0.5.0")] +[assembly: AssemblyVersion("3.0.6.0")] +[assembly: AssemblyFileVersion("3.0.6.0")] diff --git a/src/NUnitTestAdapterInstall/source.extension.vsixmanifest b/src/NUnitTestAdapterInstall/source.extension.vsixmanifest index 9af0606f..e3c338a5 100644 --- a/src/NUnitTestAdapterInstall/source.extension.vsixmanifest +++ b/src/NUnitTestAdapterInstall/source.extension.vsixmanifest @@ -3,7 +3,7 @@ NUnit3 Test Adapter Charlie Poole - 3.0.5.0 + 3.0.6.0 NUnit 3.0 adapter for integrated test execution under Visual Studio 2012 (all updates), Visual Studio 2013 (all updates), and the Visual Studio 2015 Preview and CTPs. Compatible with NUnit 3.0. 1033 http://nunit.org/index.php?p=vsTestAdapter&r=3.0 From d31bcf8df5cc5ab39fb75707ae06caadc5ee6516 Mon Sep 17 00:00:00 2001 From: Charlie Poole Date: Tue, 10 Nov 2015 16:41:57 -0800 Subject: [PATCH 3/3] Remove incorrect reference --- demo/NUnitTestDemo/NUnit3TestDemo.csproj | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/demo/NUnitTestDemo/NUnit3TestDemo.csproj b/demo/NUnitTestDemo/NUnit3TestDemo.csproj index fcef7e2a..b8122160 100644 --- a/demo/NUnitTestDemo/NUnit3TestDemo.csproj +++ b/demo/NUnitTestDemo/NUnit3TestDemo.csproj @@ -36,26 +36,10 @@ false - - ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\Mono.Cecil.dll - False - - - ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\nunit.engine.dll - False - - - ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\nunit.engine.api.dll - False - False ..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll - - ..\packages\NUnit3TestAdapter.3.0.6-ctp-6\lib\NUnit3.TestAdapter.dll - False -