You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem: Now, StructureExplorer returns Dictionary implementation of IReadOnlyDictionary filled with TestCases which were found after exploration. The better, more performance-optimized implementation of IReadOnlyDictionary is FrozenDictionary. The only disadvantage of this implementation is that it doesn't guarantee the order of elements, which is important for this case.
Possible solution: Implement own TestCaseCollection, which will have sorted test cases as well as in FrozenDictionary, for better look-up. Another approach is to put another field to ApplicationContext which will hold the ordered list, and the map/dictionary will be in different field of type FrozenDictionary.
DI container
Problem: So far, the instance creation of steps is done by simple factory methods which are in each class. Althought, this is well-known pattern it brings some problems with the re-usability of the code.
Possible solution: Implement own service discovery extension method. If implemented correctly, the creation of the steps can be easy, just by calling serviceProvider.GetService<SpecificStep>.
Mutation tests
Problem: The initiative is to write unit tests for each case. Of course, this is almost unreachable goal in the real world.
Possible solution: Add mutation testing framework, which will detect, how much of the code and test cases these unit tests actually cover. One of the examples is Stryker.NET.
The text was updated successfully, but these errors were encountered:
Now, each #nuget directive triggers NuGet package download and installation. For better performence, it would be nice to have some kind of register of already downloaded NuGet packages. If it is once downloaded, then there is no need to do it again.
FrozenDictionary
Problem: Now,
StructureExplorer
returnsDictionary
implementation ofIReadOnlyDictionary
filled withTestCase
s which were found after exploration. The better, more performance-optimized implementation ofIReadOnlyDictionary
isFrozenDictionary
. The only disadvantage of this implementation is that it doesn't guarantee the order of elements, which is important for this case.Possible solution: Implement own
TestCaseCollection
, which will have sorted test cases as well as in FrozenDictionary, for better look-up. Another approach is to put another field toApplicationContext
which will hold the ordered list, and the map/dictionary will be in different field of typeFrozenDictionary
.DI container
Problem: So far, the instance creation of steps is done by simple factory methods which are in each class. Althought, this is well-known pattern it brings some problems with the re-usability of the code.
Possible solution: Implement own service discovery extension method. If implemented correctly, the creation of the steps can be easy, just by calling
serviceProvider.GetService<SpecificStep>
.Mutation tests
Problem: The initiative is to write unit tests for each case. Of course, this is almost unreachable goal in the real world.
Possible solution: Add mutation testing framework, which will detect, how much of the code and test cases these unit tests actually cover. One of the examples is
Stryker.NET
.The text was updated successfully, but these errors were encountered: