private void SetupTestClassInitializeMethod(TestClassGenerationContext generationContext) { var testClassInitializeMethod = generationContext.TestClassInitializeMethod; testClassInitializeMethod.ReturnType = new CodeTypeReference(typeof(Task)); testClassInitializeMethod.Attributes = MemberAttributes.Public; testClassInitializeMethod.Name = GeneratorConstants.TESTCLASS_INITIALIZE_NAME; _testGeneratorProvider.MarkCodeMemberMethodAsAsync(testClassInitializeMethod); _testGeneratorProvider.SetTestClassInitializeMethod(generationContext); //testRunner = await TestRunnerManager.GetTestRunnerAsync([class_name]); var testRunnerField = _scenarioPartHelper.GetTestRunnerExpression(); var testRunnerParameters = new[] { new CodePrimitiveExpression(generationContext.TestClass.Name), new CodePrimitiveExpression(null), new CodePrimitiveExpression(null) }; var getTestRunnerExpression = new CodeMethodInvokeExpression( new CodeTypeReferenceExpression(typeof(TestRunnerManager)), nameof(ITestRunnerManager.GetTestRunnerAsync), testRunnerParameters); _codeDomHelper.MarkCodeMethodInvokeExpressionAsAwait(getTestRunnerExpression); testClassInitializeMethod.Statements.Add( new CodeAssignStatement( testRunnerField, getTestRunnerExpression)); //FeatureInfo featureInfo = new FeatureInfo("xxxx"); testClassInitializeMethod.Statements.Add( new CodeVariableDeclarationStatement(typeof(FeatureInfo), "featureInfo", new CodeObjectCreateExpression(typeof(FeatureInfo), new CodeObjectCreateExpression(typeof(CultureInfo), new CodePrimitiveExpression(generationContext.Feature.Language)), new CodePrimitiveExpression(generationContext.Feature.Name), new CodePrimitiveExpression(generationContext.Feature.Description), new CodeFieldReferenceExpression( new CodeTypeReferenceExpression("ProgrammingLanguage"), _codeDomHelper.TargetLanguage.ToString()), _scenarioPartHelper.GetStringArrayExpression(generationContext.Feature.Tags)))); //await testRunner.OnFeatureStartAsync(featureInfo); var onFeatureStartExpression = new CodeMethodInvokeExpression( testRunnerField, nameof(ITestRunner.OnFeatureStartAsync), new CodeVariableReferenceExpression("featureInfo")); _codeDomHelper.MarkCodeMethodInvokeExpressionAsAwait(onFeatureStartExpression); testClassInitializeMethod.Statements.Add(onFeatureStartExpression); }
private void SetupTestClassInitializeMethod(TestClassGenerationContext generationContext) { var testClassInitializeMethod = generationContext.TestClassInitializeMethod; testClassInitializeMethod.Attributes = MemberAttributes.Public; testClassInitializeMethod.Name = TESTCLASS_INITIALIZE_NAME; _testGeneratorProvider.SetTestClassInitializeMethod(generationContext); //testRunner = TestRunnerManager.GetTestRunner(); if UnitTestGeneratorTraits.ParallelExecution //testRunner = TestRunnerManager.GetTestRunner(null, 0); if not UnitTestGeneratorTraits.ParallelExecution var testRunnerField = GetTestRunnerExpression(); var testRunnerParameters = _testGeneratorProvider.GetTraits().HasFlag(UnitTestGeneratorTraits.ParallelExecution) ? new CodeExpression[] { } : new[] { new CodePrimitiveExpression(null), new CodePrimitiveExpression(0) }; testClassInitializeMethod.Statements.Add( new CodeAssignStatement( testRunnerField, new CodeMethodInvokeExpression( new CodeTypeReferenceExpression(typeof(TestRunnerManager)), "GetTestRunner", testRunnerParameters))); //FeatureInfo featureInfo = new FeatureInfo("xxxx"); testClassInitializeMethod.Statements.Add( new CodeVariableDeclarationStatement(typeof(FeatureInfo), "featureInfo", new CodeObjectCreateExpression(typeof(FeatureInfo), new CodeObjectCreateExpression(typeof(CultureInfo), new CodePrimitiveExpression(generationContext.Feature.Language)), new CodePrimitiveExpression(generationContext.Feature.Name), new CodePrimitiveExpression(generationContext.Feature.Description), new CodeFieldReferenceExpression( new CodeTypeReferenceExpression("ProgrammingLanguage"), _codeDomHelper.TargetLanguage.ToString()), GetStringArrayExpression(generationContext.Feature.Tags)))); //testRunner.OnFeatureStart(featureInfo); testClassInitializeMethod.Statements.Add( new CodeMethodInvokeExpression( testRunnerField, "OnFeatureStart", new CodeVariableReferenceExpression("featureInfo"))); }
public void SetupTestClassInitializeMethod() { var initializeMethod = GenerationContext.TestClassInitializeMethod; initializeMethod.Attributes = MemberAttributes.Public; initializeMethod.Name = "FeatureSetup"; _testGeneratorProvider.SetTestClassInitializeMethod(GenerationContext); CodeExpression[] codeExpressionArray1; if (!_testGeneratorProvider.GetTraits().HasFlag(UnitTestGeneratorTraits.ParallelExecution)) { codeExpressionArray1 = (new CodePrimitiveExpression[2] { new CodePrimitiveExpression(null), new CodePrimitiveExpression(0) }); } else { codeExpressionArray1 = new CodeExpression[0]; } var codeExpressionArray2 = codeExpressionArray1; CodeExpression runnerExpression = GetTestRunnerExpression(); initializeMethod.Statements.Add(new CodeAssignStatement(runnerExpression, new CodeMethodInvokeExpression(new CodeTypeReferenceExpression(typeof(TestRunnerManager)), "GetTestRunner", codeExpressionArray2))); initializeMethod.Statements.Add(new CodeVariableDeclarationStatement(typeof(FeatureInfo), "featureInfo", new CodeObjectCreateExpression(typeof(FeatureInfo), new CodeExpression[6] { new CodeObjectCreateExpression(typeof(CultureInfo), new CodeExpression[1] { new CodePrimitiveExpression(GenerationContext.Feature.Language) }), new CodePrimitiveExpression(GenerationContext.Document.DocumentLocation.FeatureFolderPath), new CodePrimitiveExpression(GenerationContext.Feature.Name), new CodePrimitiveExpression(GenerationContext.Feature.Description), new CodeFieldReferenceExpression(new CodeTypeReferenceExpression("ProgrammingLanguage"), _codeDomHelper.TargetLanguage.ToString()), GenerationContext.Feature.Tags.GetStringArrayExpression() }))); initializeMethod.Statements.Add(new CodeMethodInvokeExpression(runnerExpression, "OnFeatureStart", new CodeExpression[1] { new CodeVariableReferenceExpression("featureInfo") })); }
private void SetupTestClassInitializeMethod(TestClassGenerationContext generationContext) { var testClassInitializeMethod = generationContext.TestClassInitializeMethod; testClassInitializeMethod.Attributes = MemberAttributes.Public; testClassInitializeMethod.Name = TESTCLASS_INITIALIZE_NAME; testGeneratorProvider.SetTestClassInitializeMethod(generationContext); //testRunner = TestRunnerManager.GetTestRunner(); var testRunnerField = GetTestRunnerExpression(); var methodName = generationContext.GenerateAsynchTests ? "GetAsyncTestRunner" : "GetTestRunner"; testClassInitializeMethod.Statements.Add( new CodeAssignStatement( testRunnerField, new CodeMethodInvokeExpression( new CodeTypeReferenceExpression(typeof(TestRunnerManager)), methodName))); //FeatureInfo featureInfo = new FeatureInfo("xxxx"); testClassInitializeMethod.Statements.Add( new CodeVariableDeclarationStatement(typeof(FeatureInfo), "featureInfo", new CodeObjectCreateExpression(typeof(FeatureInfo), new CodeObjectCreateExpression(typeof(CultureInfo), new CodePrimitiveExpression(generationContext.Feature.Language)), new CodePrimitiveExpression(generationContext.Feature.Title), new CodePrimitiveExpression(generationContext.Feature.Description), new CodeFieldReferenceExpression( new CodeTypeReferenceExpression("ProgrammingLanguage"), codeDomHelper.TargetLanguage.ToString()), GetStringArrayExpression(generationContext.Feature.Tags)))); //testRunner.OnFeatureStart(featureInfo); testClassInitializeMethod.Statements.Add( new CodeMethodInvokeExpression( testRunnerField, "OnFeatureStart", new CodeVariableReferenceExpression("featureInfo"))); }
public void SetTestClassInitializeMethod(TestClassGenerationContext generationContext) { _unitTestGeneratorProvider.SetTestClassInitializeMethod(generationContext); UpdateAttributes(generationContext.TestClassInitializeMethod); }
public void SetTestClassInitializeMethod(TestClassGenerationContext generationContext) { baseGeneratorProvider.SetTestClassInitializeMethod(generationContext); }
public void SetTestClassInitializeMethod(TestClassGenerationContext generationContext) { _innerGenerator.SetTestClassInitializeMethod(generationContext); }