Skip to content
CPPUnitTest2 - a VC2015 Extension for discovering MS CPP Unit Test Framework tests
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CPPUnitTest2
CPPUnitTestInvestigator.Console
CPPUnitTestInvestigator.Test
CPPUnitTestInvestigator
MsCppUnitTestAdapter
MsCppUnitTestDiscoverer
stlx.test
stlx
.gitattributes
.gitignore
CPPUnitTestInvestigator.sln
README.md
ReadMe.txt
test_execution_order.txt

README.md

CPPUnitTest2

Brief

An experiment to enhance the Microsoft C++ Unit Test Framework.

History

I was getting extremely frustrated with the MS C++ test framework logging outputs, mostly for the reasons described below. Also, I just think that it's foundation is really cool and they played some neat tricks to expose the test classes and methods, which I wanted to explore.

Gripes

  1. When a C++ exception (std::exception) is thrown, the output in the test window is "an unknown C++ exception occurred".
  • This seems silly because if it's a standard exception they should at least be able to print the message from e.what().
  • After an enlightening ah-ha moment at CPPCON2017, I realised this may be less straightforward than I thought. Could it be that there are ABI compatibility issues between different compiler versions for std::exception? I'm not sure I care about this for my personal projects, but Microsoft probably does. :P
  1. When the execution context tries to load a library with dependencies, the message is "failed to setup execution context"
  • This one is a little harder, I haven't fixed it quite yet. But I will. This information is available in the PE format, why not walk it and show the missing library.
  1. Tests can only be named by the class name, this doesn't allow for any spaces in the test name
  • Added a specific attribute that allows the test name to be overrided.
You can’t perform that action at this time.