On 10/07/2015 02:11 PM, Jan-Marek Glogowski wrote:
Am 07.10.2015 um 12:47 schrieb Stephan Bergmann:
On 10/07/2015 11:37 AM, Jan-Marek Glogowski wrote:
I've implemented CPPUNIT_TEST_XFAIL to add test cases to a suite, which
are expected to fail.
Do you have some explanation what this is good for? (My assumption is
that one would just write the test code in a way that it is supposed to
succeed.)
The idea discussed in ESC was to allow developers to write tests for
bugs, even if they are not able to fix them. We also assumed / hoped
it's easier to write a test then fixing a bug. We'll see, if this turns
out to be true.
Ah, yeah, I vaguely remember. So lets see...
Most times this feature is used for test driven development, where you
mark tests as expected to fail without breaking the build and when you
actually fix the bug you simply remove the XFAIL from the test case. The
idea is to prove you wrote a test for your bugfix.
I think this is misguided. In TDD, you want to be sure that your test
is actually run. The easiest way to do that is to initially make the
test fail, and see that "make" fails due to your broken test. (How many
times did static code analysis turn up well-intended test code that had
never been run, because the author had forgotten some of the boilerplate
to wire it up in the test framework, and had failed to write an initial
version of the test that would have failed.) You then code away until
your test succeeds, at which point you commit.
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.