From ed1b2ddcc3dfdacdf181f5031aa676d86540e9ce Mon Sep 17 00:00:00 2001 From: dougbu Date: Mon, 17 Mar 2014 16:28:25 -0700 Subject: [PATCH] Run unit tests during builds - add "test" command - use latest (forked) XUnit packages update package references [PropertyData] -> [MemberData] Xunit.Extensions -> Xunit or Xunit.SDK Moq now available for .NET 4.5 only - delete a couple of unit tests checking for ArgumentNullException - provide TestCommon classes in Razor and Razor.Host test projects - make ReplaceCulture internal because it's a shared source --- .../Binders/ComplexModelDtoResultTest.cs | 9 --------- .../Internal/TypeExtensionTests.cs | 3 +-- .../Metadata/ModelMetadataTest.cs | 1 - .../DataAnnotationsModelValidatorTest.cs | 3 +-- .../Validation/ErrorModelValidatorTest.cs | 9 --------- .../project.json | 13 ++++++++++--- .../project.json | 19 +++++++++++++++---- .../RazorCompilationServiceTest.cs | 2 +- .../project.json | 19 +++++++++++++++---- .../project.json | 18 ++++++++++++++---- test/TestCommon/ReplaceCulture.cs | 3 ++- test/TestCommon/project.json | 13 ++++++++++--- 12 files changed, 69 insertions(+), 43 deletions(-) diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Binders/ComplexModelDtoResultTest.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Binders/ComplexModelDtoResultTest.cs index e959b64f33..1729eca785 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Binders/ComplexModelDtoResultTest.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Binders/ComplexModelDtoResultTest.cs @@ -4,15 +4,6 @@ namespace Microsoft.AspNet.Mvc.ModelBinding.Test { public class ComplexModelDtoResultTest { - [Fact] - public void Constructor_ThrowsIfValidationNodeIsNull() - { - // Act & assert - ExceptionAssert.ThrowsArgumentNull( - () => new ComplexModelDtoResult("some string", validationNode: null), - "validationNode"); - } - [Fact] public void Constructor_SetsProperties() { diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Internal/TypeExtensionTests.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Internal/TypeExtensionTests.cs index d0e95bb1df..de7cc8532b 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Internal/TypeExtensionTests.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Internal/TypeExtensionTests.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using Xunit; -using Xunit.Extensions; namespace Microsoft.AspNet.Mvc.ModelBinding.Internal.Test { @@ -50,7 +49,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding.Internal.Test } [Theory] - [PropertyData("TypesWithValues")] + [MemberData("TypesWithValues")] public void IsCompatibleWithReturnsTrue_IfValueIsAssignable(Type type, object value) { // Act diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/ModelMetadataTest.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/ModelMetadataTest.cs index 19b197c16e..1f9f2276ae 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/ModelMetadataTest.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Metadata/ModelMetadataTest.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using Moq; using Xunit; -using Xunit.Extensions; namespace Microsoft.AspNet.Mvc.ModelBinding.Test { diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/DataAnnotationsModelValidatorTest.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/DataAnnotationsModelValidatorTest.cs index fccbf7b3d7..0b1af3fcaf 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/DataAnnotationsModelValidatorTest.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/DataAnnotationsModelValidatorTest.cs @@ -4,7 +4,6 @@ using System.Linq; using Moq; using Moq.Protected; using Xunit; -using Xunit.Extensions; namespace Microsoft.AspNet.Mvc.ModelBinding { @@ -58,7 +57,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding } [Theory] - [PropertyData("ValidateSetsMemberNamePropertyDataSet")] + [MemberData("ValidateSetsMemberNamePropertyDataSet")] public void ValidateSetsMemberNamePropertyOfValidationContextForProperties(ModelMetadata metadata, string expectedMemberName) { // Arrange diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/ErrorModelValidatorTest.cs b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/ErrorModelValidatorTest.cs index edd57283dd..03d657e474 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/ErrorModelValidatorTest.cs +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/Validation/ErrorModelValidatorTest.cs @@ -7,15 +7,6 @@ namespace Microsoft.AspNet.Mvc.ModelBinding { private readonly DataAnnotationsModelMetadataProvider _metadataProvider = new DataAnnotationsModelMetadataProvider(); - [Fact] - public void ConstructorGuards() - { - // Act and Assert - ExceptionAssert.ThrowsArgumentNull( - () => new ErrorModelValidator(errorMessage: null), - "errorMessage"); - } - [Fact] public void ValidateThrowsException() { diff --git a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/project.json b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/project.json index 1a7e77f038..f722ef89a5 100644 --- a/test/Microsoft.AspNet.Mvc.ModelBinding.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.ModelBinding.Test/project.json @@ -5,14 +5,21 @@ "Microsoft.AspNet.PipelineCore": "0.1-alpha-*", "Microsoft.AspNet.Mvc.ModelBinding" : "", "TestCommon" : "", - "Moq": "4.0.10827", - "Xunit": "1.9.1", - "Xunit.extensions": "1.9.1" + "Xunit.KRunner": "0.1-alpha-*", + "xunit.abstractions": "2.0.0-aspnet-*", + "xunit.assert": "2.0.0-aspnet-*", + "xunit.core": "2.0.0-aspnet-*", + "xunit.execution": "2.0.0-aspnet-*" + }, + "commands": { + "test": "Xunit.KRunner" }, "configurations": { "net45": { dependencies: { + "Moq": "4.2.1312.1622", "System.ComponentModel.DataAnnotations": "", + "System.Reflection": "", "System.Runtime.Serialization": "" } }, diff --git a/test/Microsoft.AspNet.Mvc.Razor.Host.Test/project.json b/test/Microsoft.AspNet.Mvc.Razor.Host.Test/project.json index 131195eca6..691135ee55 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Host.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.Razor.Host.Test/project.json @@ -3,11 +3,22 @@ "dependencies": { "Microsoft.AspNet.Razor" : "0.1-alpha-*", "Microsoft.AspNet.Mvc.Razor.Host" : "", - "Moq": "4.0.10827", - "Xunit": "1.9.1", - "Xunit.extensions": "1.9.1" + "TestCommon" : "", + "Xunit.KRunner": "0.1-alpha-*", + "xunit.abstractions": "2.0.0-aspnet-*", + "xunit.assert": "2.0.0-aspnet-*", + "xunit.core": "2.0.0-aspnet-*", + "xunit.execution": "2.0.0-aspnet-*" + }, + "commands": { + "test": "Xunit.KRunner" }, "configurations": { - "net45": { } + "net45": { + "dependencies": { + "Moq": "4.2.1312.1622", + "System.Reflection": "" + } + } } } \ No newline at end of file diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorCompilationServiceTest.cs b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorCompilationServiceTest.cs index 2fce33891f..259d5a4de5 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorCompilationServiceTest.cs +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorCompilationServiceTest.cs @@ -10,7 +10,7 @@ using Microsoft.AspNet.Razor.Generator.Compiler; using Microsoft.AspNet.Razor.Parser.SyntaxTree; using Microsoft.Net.Runtime; using Moq; -using Xunit.Extensions; +using Xunit; namespace Microsoft.AspNet.Mvc.Razor.Test { diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/project.json b/test/Microsoft.AspNet.Mvc.Razor.Test/project.json index 2d0d0eb006..f968670141 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/project.json @@ -5,11 +5,22 @@ "Microsoft.AspNet.Razor": "0.1-alpha-*", "Microsoft.AspNet.Mvc.Razor" : "", "Microsoft.AspNet.Mvc.Razor.Host" : "", - "Moq": "4.0.10827", - "Xunit": "1.9.1", - "Xunit.extensions": "1.9.1" + "TestCommon" : "", + "Xunit.KRunner": "0.1-alpha-*", + "xunit.abstractions": "2.0.0-aspnet-*", + "xunit.assert": "2.0.0-aspnet-*", + "xunit.core": "2.0.0-aspnet-*", + "xunit.execution": "2.0.0-aspnet-*" + }, + "commands": { + "test": "Xunit.KRunner" }, "configurations": { - "net45": { } + "net45": { + "dependencies": { + "Moq": "4.2.1312.1622", + "System.Reflection": "" + } + } } } \ No newline at end of file diff --git a/test/Microsoft.AspNet.Mvc.Rendering.Test/project.json b/test/Microsoft.AspNet.Mvc.Rendering.Test/project.json index 8f2c3f4780..855d633485 100644 --- a/test/Microsoft.AspNet.Mvc.Rendering.Test/project.json +++ b/test/Microsoft.AspNet.Mvc.Rendering.Test/project.json @@ -5,11 +5,21 @@ "Microsoft.AspNet.PipelineCore": "0.1-alpha-*", "Microsoft.AspNet.Mvc.Rendering" : "", "TestCommon" : "", - "Moq": "4.0.10827", - "Xunit": "1.9.1", - "Xunit.extensions": "1.9.1" + "Xunit.KRunner": "0.1-alpha-*", + "xunit.abstractions": "2.0.0-aspnet-*", + "xunit.assert": "2.0.0-aspnet-*", + "xunit.core": "2.0.0-aspnet-*", + "xunit.execution": "2.0.0-aspnet-*" + }, + "commands": { + "test": "Xunit.KRunner" }, "configurations": { - "net45": { } + "net45": { + "dependencies": { + "Moq": "4.2.1312.1622", + "System.Reflection": "" + } + } } } \ No newline at end of file diff --git a/test/TestCommon/ReplaceCulture.cs b/test/TestCommon/ReplaceCulture.cs index 940d7d3a00..3437a0ce36 100644 --- a/test/TestCommon/ReplaceCulture.cs +++ b/test/TestCommon/ReplaceCulture.cs @@ -2,6 +2,7 @@ using System.Globalization; using System.Reflection; using System.Threading; +using Xunit.Sdk; namespace Microsoft.AspNet.Mvc { @@ -9,7 +10,7 @@ namespace Microsoft.AspNet.Mvc /// Replaces the current culture and UI culture for the test. /// [AttributeUsage(AttributeTargets.Method)] - public class ReplaceCultureAttribute : Xunit.BeforeAfterTestAttribute + internal class ReplaceCultureAttribute : BeforeAfterTestAttribute { private const string _defaultCultureName = "en-GB"; private const string _defaultUICultureName = "en-US"; diff --git a/test/TestCommon/project.json b/test/TestCommon/project.json index 03ab8c1121..2c6606c6ef 100644 --- a/test/TestCommon/project.json +++ b/test/TestCommon/project.json @@ -1,10 +1,17 @@ { "shared": "*.cs", "dependencies": { - "Xunit": "1.9.1", - "Xunit.extensions": "1.9.1" + "xunit.abstractions": "2.0.0-aspnet-*", + "xunit.assert": "2.0.0-aspnet-*", + "xunit.core": "2.0.0-aspnet-*", + "xunit.execution": "2.0.0-aspnet-*" }, "configurations": { - "net45": { } + "net45": { + "dependencies": { + "Moq": "4.2.1312.1622", + "System.Reflection": "" + } + } } } \ No newline at end of file