Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Mike Bria on Jul 11, 2008 10:01 AM
The folks at Google have recently open-sourced their xUnit-based testing framework for C++ development. The framework is said by project developer Zhanyong Wan to have been in use internally at Google for years by thousands of their C++ developers.We hope this list can help you decide whether [Google Test is useful] for you too:Saptarshi "Sunny" Purkayastha spent some time checking the new framework out and posted his initial thoughts on his blog. His reaction was positive:
- Google Test is designed to be portable. It works where many STL types (e.g. std::string and std::vector) don't compile. It doesn't require exceptions or RTTI. As a result, it runs on Linux, Mac OS X, Windows and several embedded operating systems.
- Nonfatal assertions (EXPECT_*) have proven to be great time savers, as they allow a test to report multiple failures in a single edit-compile-test cycle.
- It's easy to write assertions that generate informative messages: you just use the stream syntax to append any additional information, e.g. ASSERT_EQ(5, Foo(i)) << " where i = " << i;. It doesn't require a new set of macros or special functions.
- Google Test automatically detects your tests and doesn't require you to enumerate them in order to run them.
- No framework can anticipate all your needs, so Google Test provides EXPECT_PRED* to make it easy to extend your assertion vocabulary. For a nicer syntax, you can define your own assertion macros trivially in terms of EXPECT_PRED*.
- Death tests are pretty handy for ensuring that your asserts in production code are triggered by the right conditions.
- SCOPED_TRACE helps you understand the context of an assertion failure when it comes from inside a sub-routine or loop.
- You can decide which tests to run using name patterns. This saves time when you want to quickly reproduce a test failure.
Another excellent thing about the framework was that it’s easy to learn the basics as well has advanced features. Its very similar to xUnit tests and has good features to compare with CppUnit. The basics can be learnt from here and the advanced guide is here. Predicate Assertions are probably one of my favorite features, that we encountered quickly in a program that we were having trouble to debug. There are also a host of other assertions available and we’ve not got into very deep with all the assertions. But from the initial look at the framework, most of us very ranking it as one of the best testing frameworks out there...According to the wiki, you can get up and running with Google Test by checking out their Primer, and then referencing the Advanced Guide for more intensive use.
Effective Management of Static Analysis Vulnerabilities and Defects
Ebook: Scaling Agile with C/ALM
NEW: ANTS Memory Profiler 5 just released!
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
No comments
Watch Thread Reply