This is the first release of devmate and there are still some features on our roadmap for the next releases to come. This chapter describes the considerations you have to make and restrictions you have to know about when using devmate.
Type information available in the Equivalence Class Editor
Currently devmate‘s test models are completely self-contained. All needed type information is stored in the *.tmdl files. This on the one hand is an advantage because devmate has no dependencies to an environment providing this information. On the other hand only type information directly or indirectly used by the method under test as well as all primitive types are contained in the test model. That indicates that you cannot define a factory method that accepts formal parameters of any other type. For example your factory method cannot accept a list of integers if IList is not contained in your test model.
Only Output Based Tests
Currently devmate can only check the return values of methods. Therefore only output based tests are possible. In future releases there will be support for state and interaction based tests as well. State based tests check the state of an object that was manipulated. Interaction based tests use mock objects to verify correct interaction between the system under test and its dependencies.
Visual Studio
devmate depends on Visual Studio 2019 Version >= 16.3.0 up to 16.6.2
C#
- devmate supports C# beginning from version 4.0 up to language level 7.3.
- devmate guarantees the support the following target frameworks and versions:
- .Net Core (Version 3.1)
- .Net Standard (all versions up 2.1)
- .Net Framework (beginning from version 4.0 up to 4.7.2)
Unsupported Language Features
There are some language features of C# that we do not support yet:
Named Tuples: the names of members of named tuples are not shown in the Equivalence Class Editor
Properties: object property getters cannot be tested
ref / out Parameters: the values of ref and out parameters cannot be checked
Generics: devmate does not support testing methods of generic classes nor generic methods
NUnit3
devmate only supports NUnit3 as target unit testing framework. We recommend using Moq for creating stubs and mocks.