GoogleTest Runner

Free

Visual Studio 2013 extension for running C++ unit tests written with GoogleTest framework. Unit Test Runner (Adapter) for Google Test (gtest) unit testing framework.

(8) Review
Visual Studio
2013
Download (3,089)
4/8/2014
1.7.1
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (8)
Q and A (20)
Sign in to write a review
Sort by:

by WalkingCat | Wed 3:55 AM

by Dmitri Nesteruk | April 15 2014

It works, which is all that you need from it.

by Joerg Schw | December 17 2013

Great! Just what I needed to integrate running the tests within visual studio - without misusing the post-build step.

by Patrik Olesen | October 24 2013

A very nice small tool that does what it says. It would been nice if the error printouts were linked to the editor

by Szymon Gatner | September 12 2013

Great tool. Better than competition because properly jumps to test code when double-clicking test name in the panel.

by tscott98 | September 11 2013

This is a useful front-end to the google test framework. Does as advertised.

by svaha1728 | September 10 2013

This is a great addition to the VS Test Runner! Thank you so much!

by Layl Conway | September 10 2013

Does exactly what it says, though you'll have to install a specific package if you're using VS2013 Preview.

Sign in to start a discussion


  • VS2013 Support
    3 Posts | Last post April 08, 2014
    • I saw the update to 1.7 said that VS2012 was no longer needed. I updated the extensions and uninstalled VS2012 - now it doesn't find the tests anymore again.
      
      I have rebooted since uninstalling VS2012, and I've uninstalled GoogleTest Runner and installed it fresh. Still fails.
      
      Any ideas?
    • Hi, I think this is due to a dependency on FSharp.Core 4.3.0 which won't be in the GAC if only VS2013 is installed. See my comment here: https://github.com/markusl/GoogleTestRunner/issues/3 for a workaround.
    • Version 1.7.1 fixed it! Thanks!
  • Tests that fail early don't show up. (TFS)
    1 Posts | Last post March 31, 2014
    • Hi Markus
      
      Great work on the extension!
      
      We have a small issue here with either the extension or how TFS runs unit tests in general - not sure which. When tests fail while listing the tests in the executable, the framework does not detect this as an error, it simply assumes that no tests are present in the executable. An example: When a required DLL is not found, the tests do not show up.
      Is this something that you can report as a test failed, or an error, or is it something I would have to contact Microsoft about?
      
      Best regards
      Jesper
  • Does it work on the visual studio 2013 ultimate?
    12 Posts | Last post March 14, 2014
    • First, the extension not working on the visual studio 2013. Hence, I try to install visual studio 2013 sdk and build the GoogleTestRunner source code at github. But that found the log message as following.
      
      ------ Run test started ------
      Found 2 tests, resolving symbols
      Loading symbols from C:\Users\samjegal\Documents\Visual Studio 2013\Projects\gtest-1.7.0\msvc\gtest\Debug\gtest_prod_test.exe
      Retrieving the COM class factory for component with CLSID {761D3BCD-1304-41D5-94E8-EAC54E4AC172} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
      In C:\Users\samjegal\Documents\Visual Studio 2013\Projects\gtest-1.7.0\msvc\gtest\Debug, running: C:\Users\samjegal\Documents\Visual Studio 2013\Projects\gtest-1.7.0\msvc\gtest\Debug\gtest_prod_test.exe  --gtest_output="xml:C:\Users\samjegal\AppData\Local\Temp\tmp1CB7.tmp" --gtest_filter=PrivateCodeFixtureTest.*:PrivateCodeTest.*:
      Opened results from C:\Users\samjegal\AppData\Local\Temp\tmp1CB7.tmp
      Method not found: 'Microsoft.FSharp.Core.FSharpOption`1<System.String> FSharp.Data.RuntimeImplementation.XmlOperations.TryGetAttribute(FSharp.Data.RuntimeImplementation.XmlElement, System.String)'.
         at GoogleTestRunner.ResultParser.f@1(XmlElement result)
         at GoogleTestRunner.ResultParser.testCaseResultsFlattened@32.Invoke(XmlElement f)
         at Microsoft.FSharp.Collections.ArrayModule.Collect[T,TResult](FSharpFunc`2 mapping, T[] array)
         at GoogleTestRunner.ResultParser.getResults(IMessageLogger logger, String outputPath, FSharpList`1 testCases)
         at GoogleTestRunner.GoogleTestExecutor.runOnce(IFrameworkHandle framework, IRunContext runContext, FSharpList`1 allCases, FSharpList`1 cases, String executable, Boolean runAll)
         at GoogleTestRunner.GoogleTestExecutor.runTests(FSharpList`1 allCases, IEnumerable`1 cases, IRunContext runContext, IFrameworkHandle framework, Boolean runAll)
      ========== Run test finished: 0 run (0:00:07.0277823) ==========
    • Hi Markus
      Thanks for this extension.
      
      I've some problem as following
      
      ------ Discover test started ------
      ========== Discover test finished: 0 found (0:00:06.965436) ==========
      
      My environment is the visual studio 2013 and GoogleTestRunner by TOOLS->Extensions and Update.
      
    • I'm having the same problem. VS2013 Pro, GoogleTests 1.7.0. When I click Run All in VS the Tests.exe is built - but no tests are found. However, if I execute Tests.exe from the console the tests run fine and I'm able to list all tests in the console. Any ideas?
    • I should specify, I have the same problem as "samjegal" last post. Never had the first problem he reported.
    • @samjegal, where you able to use this in VS2013? Di you have to built it yourself?
    • I've updated the repository so that it compiles with VS2013. It might be that the extension depends on a COM library for DIA SDK which only ships with VS2012, thus the CLSID error. I'm haven't yet figured an elegant way of solving this, but I'm open for suggestions:)
    • hmm.. Maybe that is it. I have not had VS2012 installed. I'll see over the Christmas break if I get time to try to build from the repo.
      
      My VS2013 installation was a bare minimum for compiling C++, I didn't check any of the other options. But today I reinstalled with all options except the Windows Phone SDK. Still no go. That is now two computers I have where I cannot get this extension to work. I'll dig on further with the changes you mentioned you'd made recently and I'll check if my office has a VS2012 disc I can test with.
    • That was it! I installed VS2012 and it now lists!
      
      Haven't tried to build with VS2013 though. Would be nice to be able to make it run on VS2013 without VS2012 also installed.
    • There is an issue with VS 2013 and DIA SDK (with VS 2012 installed, and possibly without VS 2012).
      
      http://connect.microsoft.com/VisualStudio/feedback/details/814147/dia-sdk-installed-into-wrong-directory
      
      http://social.msdn.microsoft.com/Forums/en-US/d75aafb5-3be0-4f4f-a463-00ccd5b03ddd/dia-sdk-for-visual-studio-2013?prof=required
      
      In my case, when I installed VS 2013 alongside VS 2012, Googletest Runner plug-in worked correctly, parsing and detecting the tests. After I removed VS 2012, the plugin could not find the tests anymore. Curiously, the issue did not repeat itself in one specific computer of mine, in which I uninstalled VS 2012, kept VS 2013 and the plugin still works. I have verified that, in this computer DIA SDK remained installed in Visual Studio 11.0 directory, and it is not present in Visual Studio 12.0 directory.
      
      Copying the DIA SDK directory to computers which do not have it, either in Visual Studio 11.0 or 12.0 directories, and even registering the SDK dll, did not make the plugin work.
      
      
    • Did not work with VS 2013 Ultimate under Windows 8.1 32-bit (no tests found in the test explorer).
      
      I had to install VS 2012 trial on the computer -- that fixed it.
    • Good there's a easy workaround for this. Of course installing additional VS version is not good solution. I'll have to look at this later.
      
      Regards,
      Markus
    • Same problem on my install. VS 2013 Professional on Windows 8.1 64-bit.
  • Where's 2012 version?
    3 Posts | Last post March 10, 2014
    • Hi Markus
      
      I find it weird... It seems that the extension for VS 2012 is not available anymore. Is it a bug?
      
      p. Toro 
    • I will not be updating the Visual Studio 2012 version any more. The latest package is available at https://github.com/markusl/GoogleTestRunner/tree/master/Latest_VS2012_package
      
      It is still possible to fetch the sources and build your own VS2012 version if needed.
      
      Regards,
      Markus
    • Maybe you should add that information to the description page? The current statement "VS2012 installation is not required any more." implies that the main download can be used with VS2012.
      
      Thanks,
      Morten
  • Debug selected test
    2 Posts | Last post March 07, 2014
    • When I debug executable with unit tests on VS2013 while running all tests through main() I do not have any problems with that and everything works fine. However when I try to "Debug Selected Tests" on one of the unit tests I get "The call stack contains only external code" and the debugger does not stop in unit test code. Any ideas?
    • Hello.
      
      Could you check what is your setting for the "Just My Code" option, if it affects the behavior here?
      
      More information at http://blogs.msdn.com/b/vcblog/archive/2013/06/26/just-my-code-for-c-in-vs-2013.aspx
      
      Regards,
      Markus
  • Run tests marked as "Not Run"
    1 Posts | Last post March 04, 2014
    • It seems that when the framework receives test duration of 0 ms it sets a test as not run however it assigns Passed/Failed outcome for those test. It seems that either timer duration is too low or the framework should somehow handle that situation (accepting 0ms as a run test or a test duration should be modified to 1ms in such case).
  • Error message while it reads the results
    3 Posts | Last post February 27, 2014
    • I'm suddenly getting this error, is that due to a bug in the extension? The error seem to indicate problems parsing the XML result file:
      
      ------ Run test started ------
      Found 33 tests, resolving symbols
      Loading symbols from C:\Users\Thomas\SourceTree\SUbD\Test\SUbD_UnitTest.exe
      From C:\Users\Thomas\SourceTree\SUbD\Test\SUbD_UnitTest.exe, found 33 symbols in 71 ms
      In C:\Users\Thomas\SourceTree\SUbD\Test, running: C:\Users\Thomas\SourceTree\SUbD\Test\SUbD_UnitTest.exe  --gtest_output="xml:C:\Users\Thomas\AppData\Local\Temp\tmp9313.tmp" 
      Root element is missing.
         at System.Xml.XmlTextReaderImpl.Throw(Exception e)
         at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
         at System.Xml.XmlTextReaderImpl.Read()
         at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
         at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
         at GoogleTestRunner.ResultParser.getResults(IMessageLogger logger, String outputPath, FSharpList`1 testCases)
         at GoogleTestRunner.GoogleTestExecutor.runOnce(IFrameworkHandle framework, IRunContext runContext, FSharpList`1 allCases, FSharpList`1 cases, String executable, Boolean runAll)
         at GoogleTestRunner.GoogleTestExecutor.runTests(FSharpList`1 allCases, IEnumerable`1 cases, IRunContext runContext, IFrameworkHandle framework, Boolean runAll)
      No test is available in C:\Users\Thomas\SourceTree\SUbD\Test\SUbD_UnitTest.exe. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
      ========== Run test finished: 0 run (0:00:08.1626713) ==========
    • `tmp9313.tmp` turned out to be empty.
    • I had the exact same problem and it was caused by the fact that the character set of my test project was set to UNICODE. Changing it to multibyte character set solved the problem (project->properties->general->character set).
      
      To get the Google test runner to work I also had to change the signature of the auto generated main method to int _tmain(int argc, char *argv[]).
  • Google Test 1.7.0 Parameterized tests
    5 Posts | Last post February 18, 2014
    • I forked Markus' Git hub 1.6 version and made changes to handle Google Test version 1.7.0 parametrized value tests which include the parameter values in the test name strings. The current version says that the tests were never executed because it couldn't find a match.
      
      Hope he can review and pull in the changes.
      
      https://github.com/bakerhillpins/GoogleTestRunner
    • Oh! Thank you very much, I'll merge this as soon as possible.
    • Hi!
      Thank you for the fix! Great that the maintaining of the testadapter continues!
      Now they parameterized tests are correctly executed and detected.
      
      Best regards
      Alfred
      
    • They can indeed be ran, but the "Open test" feature fails, with the following error:
      
      "Cannot browse the following file Couldn't locate {name of the test}"
    • NobodyKnowsWhoIAm, that is indeed true. Implementation of that feature would be a slightly tricky and that's why it's not done yet. Patches welcome;)
      
      "Normal" test methods are explicitly on some line in a source code file and can be mapped without ambiguity from method name to line number, but in case of parameterized tests, the test data and test method are in different places, and the mapping of names is not that straightforward.
      
      Regards,
      Markus
  • Test Categories
    1 Posts | Last post December 22, 2013
    • Is it possible to create test categories?
  • Possible to see the google test console output while tests are running?
    1 Posts | Last post December 17, 2013
    • Dear Markus,
      
      First of all: Thanks for this great plugin. It's really a big help. :)
      
      Only thing missing (maybe I just don't know how to achieve) is that I can't see the test progress watching the google test output. As we've some tests running more than one minute this could be quite useful.
      Is that somehow possible?
      
      Cheers,
      Joerg
1 - 10 of 20 Items