public void XUnit2TestGeneratorProvider_ShouldSetDisplayNameForTheoryAttribute() { // Arrange var provider = new XUnit2TestGeneratorProvider(new CodeDomHelper(new CSharpCodeProvider()), new ProjectSettings() { DefaultNamespace = "Target" }); var context = new Generator.TestClassGenerationContext( unitTestGeneratorProvider: null, document: new SpecFlowDocument( feature: new SpecFlowFeature( tags: null, location: null, language: null, keyword: null, name: "", description: null, children: null ), comments: null, sourceFilePath: null), ns: null, testClass: null, testRunnerField: null, testClassInitializeMethod: null, testClassCleanupMethod: null, testInitializeMethod: null, testCleanupMethod: null, scenarioInitializeMethod: null, scenarioStartMethod: null, scenarioCleanupMethod: null, featureBackgroundMethod: null, generateRowTests: false); var codeMemberMethod = new CodeMemberMethod(); // Act provider.SetRowTest(context, codeMemberMethod, "Foo"); // Assert var modifiedAttribute = codeMemberMethod.CustomAttributes.OfType <CodeAttributeDeclaration>() .FirstOrDefault(a => a.Name == "Xunit.SkippableTheoryAttribute"); modifiedAttribute.Should().NotBeNull(); var attribute = modifiedAttribute.Arguments .OfType <CodeAttributeArgument>() .FirstOrDefault(a => a.Name == "DisplayName"); attribute.Should().NotBeNull(); var primitiveExpression = attribute.Value as CodePrimitiveExpression; primitiveExpression.Should().NotBeNull(); primitiveExpression.Value.Should().Be("Foo"); }
public void Should_set_displayname_attribute() { // Arrange var provider = new XUnitTestGeneratorProvider(new CodeDomHelper(new CSharpCodeProvider())); // TODO: what about XUnit2TestGeneratorProvider ? var context = new Generator.TestClassGenerationContext( unitTestGeneratorProvider: null, document: new Parser.SpecFlowDocument( feature: new SpecFlowFeature( tags: null, location: null, language: null, keyword: null, name: "", description: null, children: null ), comments: null, sourceFilePath: null), ns: null, testClass: null, testRunnerField: null, testClassInitializeMethod: null, testClassCleanupMethod: null, testInitializeMethod: null, testCleanupMethod: null, scenarioInitializeMethod: null, scenarioStartMethod: null, scenarioCleanupMethod: null, featureBackgroundMethod: null, generateRowTests: false); var codeMemberMethod = new CodeMemberMethod(); // Act provider.SetTestMethod(context, codeMemberMethod, "Foo"); // Assert var modifiedAttribute = codeMemberMethod.CustomAttributes.OfType <CodeAttributeDeclaration>() .FirstOrDefault(a => a.Name == "Xunit.FactAttribute"); Assert.That(modifiedAttribute, Is.Not.Null); var attribute = modifiedAttribute.Arguments.OfType <CodeAttributeArgument>() .FirstOrDefault(a => a.Name == "DisplayName"); Assert.That(attribute, Is.Not.Null); var primitiveExpression = attribute.Value as CodePrimitiveExpression; Assert.That(primitiveExpression, Is.Not.Null); Assert.That(primitiveExpression.Value, Is.EqualTo("Foo")); }
public override void SetTestClass(Generator.TestClassGenerationContext generationContext, string featureTitle, string featureDescription) { base.SetTestClass(generationContext, featureTitle, featureDescription); foreach (CodeAttributeDeclaration customAttribute in generationContext.TestClass.CustomAttributes) { if (customAttribute.Name == "Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute") { generationContext.TestClass.CustomAttributes.Remove(customAttribute); break; } } generationContext.TestClass.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference("Microsoft.VisualStudio.TestTools.UITesting.CodedUITestAttribute"))); }
public void Should_set_displayname_attribute() { // Arrange var provider = new XUnitTestGeneratorProvider(new CodeDomHelper(new CSharpCodeProvider())); // TODO: what about XUnit2TestGeneratorProvider ? var context = new Generator.TestClassGenerationContext( unitTestGeneratorProvider: null, document: new Parser.SpecFlowDocument( feature: new SpecFlowFeature( tags: null, location: null, language: null, keyword: null, name: "", description: null, children:null ), comments: null, sourceFilePath: null), ns: null, testClass: null, testRunnerField: null, testClassInitializeMethod: null, testClassCleanupMethod: null, testInitializeMethod: null, testCleanupMethod: null, scenarioInitializeMethod: null, scenarioCleanupMethod: null, featureBackgroundMethod: null, generateRowTests: false); var codeMemberMethod = new CodeMemberMethod(); // Act provider.SetTestMethod(context, codeMemberMethod, "Foo"); // Assert var modifiedAttribute = codeMemberMethod.CustomAttributes.OfType<CodeAttributeDeclaration>() .FirstOrDefault(a => a.Name == "Xunit.FactAttribute"); Assert.That(modifiedAttribute, Is.Not.Null); var attribute = modifiedAttribute.Arguments.OfType<CodeAttributeArgument>() .FirstOrDefault(a => a.Name == "DisplayName"); Assert.That(attribute, Is.Not.Null); var primitiveExpression = attribute.Value as CodePrimitiveExpression; Assert.That(primitiveExpression, Is.Not.Null); Assert.That(primitiveExpression.Value, Is.EqualTo("Foo")); }