I am using Visual Studio 2015, Crystal Reports 12.0.2. When running from Visual Studio in debug mode or not, the application hangs on the statement "new ReportDocument()". ReportDocument is a class defined in CrystalReports. When I disabled the JustMock Profiler, this statement no longer hung. Just FYI. Hopefully others will see this.
C# 8 introduces default interface method implementations. Attempt to mock such methods with JustMock in elevated mode fails. The following example illustrates the issue:
public interface IMyInterface
{
int IntProperty { get => 0; }
}
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var mock = Mock.Create<IMyInterface>();
Mock.Arrange(() => mock.IntProperty).Returns(1);
Assert.AreEqual(1, mock.IntProperty);
}
}
The issue is present when JustMock extension is installed and the debugger is launched inside unrelated projects, for example, a blank console app. The extension should detect JustMock references from project settings and automatically disable this feature when it becomes inapplicable. Optionally the extension could give the way to explicitly disable the debug window from popping up by toggling the menu item.
Currently, the support for code coverage in the JustMock Azure Pipeline task includes only projects targeting .NET Framework.
Implement support for projects targeting .NET Core.
Currently, when the JustMock profiler is enabled it provides a performance hit on the test execution. This effect is expected because a profiler is involved.
What we can do is find a more optimized way of instrumenting the methods.
Docker is a container acting like an isolated environment. Research how the JustMock profiler can be registered into such container. Hosted VSTS should work on the same principle. Research how the registry could be accessed through VSTS extension or other tools.