unit test: apply same test case to different fixtures
I have auto test cases that can take fixtures whose members they access in a uniform way. Say struct F1... Fn BOOST_FIXTURE_TEST_CASE( test_case1 , F1 ... Fn ) { //same code for all Fi } Is there a way to do this? Regards,
Hicham Mouline
I have auto test cases that can take fixtures whose members they access in a uniform way.
Say struct F1... Fn
BOOST_FIXTURE_TEST_CASE( test_case1 , F1 ... Fn ) { //same code for all Fi }
Is there a way to do this?
Regards,
1. Make Fi inherit from Fi+1.
2. Use something like this:
template
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Gennadiy Rozental Sent: 07 July 2009 14:46 To: boost-users@lists.boost.org Subject: Re: [Boost-users] unit test: apply same test case to different fixtures
Hicham Mouline
writes: I have auto test cases that can take fixtures whose members they
access in a
uniform way.
Say struct F1... Fn
BOOST_FIXTURE_TEST_CASE( test_case1 , F1 ... Fn ) { //same code for all Fi }
Is there a way to do this?
Regards,
1. Make Fi inherit from Fi+1. 2. Use something like this:
template
struct FixtureCollector : T1, T2 {}; You can now either implement above using variardic templates or implement macro that will convert PP sequence into sequence of FixtureCollector
: For example
FIXTURES((T1)(T2)(T3)) should generate:
FixtureCollector
> use it :
BOOST_FIXTURE_TEST_CASE( test_case1 , FIXTURES((T1)(T2)(T3)) ) { }
Gennadiy
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Gennadiy Rozental Sent: 07 July 2009 14:46 To: boost-users@lists.boost.org Subject: Re: [Boost-users] unit test: apply same test case to different fixtures
Hicham Mouline
writes: I have auto test cases that can take fixtures whose members they
access in a
uniform way.
Say struct F1... Fn
BOOST_FIXTURE_TEST_CASE( test_case1 , F1 ... Fn ) { //same code for all Fi }
Is there a way to do this?
Regards,
1. Make Fi inherit from Fi+1. 2. Use something like this:
template
struct FixtureCollector : T1, T2 {}; You can now either implement above using variardic templates or implement macro that will convert PP sequence into sequence of FixtureCollector
: For example
FIXTURES((T1)(T2)(T3)) should generate:
FixtureCollector
> use it :
BOOST_FIXTURE_TEST_CASE( test_case1 , FIXTURES((T1)(T2)(T3)) ) { }
Gennadiy
Hi Pressed Send too early. The question is how to run the test case on T1 then on T2 then .... on Tn , on each one separately Rds,
AMDG Hicham Mouline wrote:
Hicham Mouline
writes: I have auto test cases that can take fixtures whose members they
access in a
uniform way.
Say struct F1... Fn
BOOST_FIXTURE_TEST_CASE( test_case1 , F1 ... Fn ) { //same code for all Fi }
Is there a way to do this?
Regards,
1. Make Fi inherit from Fi+1. 2. Use something like this:
template
struct FixtureCollector : T1, T2 {}; You can now either implement above using variardic templates or implement macro that will convert PP sequence into sequence of FixtureCollector
: For example
FIXTURES((T1)(T2)(T3)) should generate:
FixtureCollector
> use it :
BOOST_FIXTURE_TEST_CASE( test_case1 , FIXTURES((T1)(T2)(T3)) ) { }
The question is how to run the test case on T1 then on T2 then .... on Tn , on each one separately
In other words, you'd like there to be a BOOST_FIXTURE_TEST_CASE_TEMPLATE to complement BOOST_AUTO_TEST_CASE_TEMPLATE In Christ, Steven Watanabe
Steven Watanabe
BOOST_FIXTURE_TEST_CASE( test_case1 , FIXTURES((T1)(T2)(T3)) ) { }
The question is how to run the test case on T1 then on T2 then .... on Tn , on each one separately
I must say you left me a bit puzzled. What does it you are trying to do? Run the same code against different fixtures? Kinda weird, don't you think?
In other words, you'd like there to be a BOOST_FIXTURE_TEST_CASE_TEMPLATE to complement BOOST_AUTO_TEST_CASE_TEMPLATE
Not really, as far as I can tell. Gennadiy
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of Gennadiy Rozental Sent: 08 July 2009 16:17 To: boost-users@lists.boost.org Subject: Re: [Boost-users] unit test: apply same test case to different fixtures
Steven Watanabe
writes: BOOST_FIXTURE_TEST_CASE( test_case1 , FIXTURES((T1)(T2)(T3)) ) { }
The question is how to run the test case on T1 then on T2 then .... on Tn , on each one separately
I must say you left me a bit puzzled. What does it you are trying to do? Run the same code against different fixtures? Kinda weird, don't you think?
In other words, you'd like there to be a BOOST_FIXTURE_TEST_CASE_TEMPLATE to complement BOOST_AUTO_TEST_CASE_TEMPLATE
Not really, as far as I can tell.
Gennady
The different fixtures have the same member names, even if their types are different and the test case code uses those member with the same syntax... It's bit like if the fixture was a template argument... regards,
participants (3)
-
Gennadiy Rozental
-
Hicham Mouline
-
Steven Watanabe