Skip to content

An exception on attempt to generate unit tests #266

@montoner0

Description

@montoner0

Describe the bug
When I try to generate tests for type it immediately throws an exception. This happens with any class in any project I've tried. Previously (~ 3 months ago) it worked fine.

To Reproduce

  1. Right-click a class' name
  2. Select Generate tests for type <class name> menu item
  3. Select a project with tests (or generate detached tests class)
  4. Click OK

Additional context
VS 2022 17.14.20
Unitverse 0.216.0

Exception raised

System.ArgumentNullException: Value cannot be null.
Parameter name: name
   at Unitverse.Core.Helpers.Generate.Method(String name, Boolean isAsync, Boolean isStatic) in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Helpers\Generate.cs:line 21
   at Unitverse.Core.Frameworks.Test.BaseTestFramework.CreateTestMethod(NameResolver nameResolver, NamingContext namingContext, IGenerationContext generationContext, Boolean isAsync, Boolean isStatic, String description) in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Frameworks\Test\BaseTestFramework.cs:line 87
   at Unitverse.Core.Frameworks.FrameworkSet.CreateTestMethod(NameResolver nameResolver, NamingContext namingContext, Boolean isAsync, Boolean isStatic, String description) in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Frameworks\FrameworkSet.cs:line 55
   at Unitverse.Core.Strategies.MethodGeneration.CanCallMethodGenerationStrategy.<Create>d__9.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Strategies\MethodGeneration\CanCallMethodGenerationStrategy.cs:line 57
   at Unitverse.Core.Strategies.ItemGenerationStrategyFactory`1.<CreateFor>d__5.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Strategies\ItemGenerationStrategyFactory.cs:line 29
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
   at Unitverse.Core.Generation.EmissionMarker.MarkEmittedItems[T](ModelGenerationContext generationContext, ItemGenerationStrategyFactory`1 factory, Func`2 selector) in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Generation\EmissionMarker.cs:line 30
   at Unitverse.Core.Generation.EmissionMarker.MarkEmittedItems(ModelGenerationContext context) in D:\a\Unitverse\Unitverse\src\Unitverse.Core\Generation\EmissionMarker.cs:line 18
   at Unitverse.Core.CoreGenerator.GenerateModel(ClassModel classModel, ICompilationUnitStrategy strategy, IFrameworkSet frameworkSet, Boolean withRegeneration, Boolean isSingleItemGeneration, IMessageLogger messageLogger) in D:\a\Unitverse\Unitverse\src\Unitverse.Core\CoreGenerator.cs:line 68
   at Unitverse.Core.CoreGenerator.<Generate>d__0.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse.Core\CoreGenerator.cs:line 46
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Unitverse.Helper.CodeGenerator.<GenerateAsync>d__6.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse\Helper\CodeGenerator.cs:line 238
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Unitverse.Helper.CodeGenerator.<GenerateItemAsync>d__5.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse\Helper\CodeGenerator.cs:line 203
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Unitverse.Helper.CodeGenerator.<GenerateCodeAsync>d__0.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse\Helper\CodeGenerator.cs:line 31
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Unitverse.Commands.GenerateTestForSymbolCommand.<>c__DisplayClass12_1.<<Execute>b__2>d.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse\Commands\GenerateTestForSymbolCommand.cs:line 180
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Unitverse.Helper.Attempt.<ActionAsync>d__1.MoveNext() in D:\a\Unitverse\Unitverse\src\Unitverse\Helper\Attempt.cs:line 41

.unitTestGeneratorConfig.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions