Re: [Vala] Using TestCase class: assert (this is Object) fails in method, but not in constructor
- From: Daniel Espinosa <esodan gmail com>
- To: Al Thomas <astavale yahoo co uk>
- Cc: Vala-list <vala-list gnome org>
- Subject: Re: [Vala] Using TestCase class: assert (this is Object) fails in method, but not in constructor
- Date: Thu, 4 Feb 2016 16:09:45 -0600
GXml have a test suite may you want to check. I has more than 50 tests
cases.
El feb. 4, 2016 3:04 PM, "Al Thomas" <astavale yahoo co uk> escribió:
----- Original Message -----
From: Felipe Lavratti <felipelav gmail com>
Sent: Thursday, 4 February 2016, 20:18
Subject: [Vala] Using TestCase class: assert (this is Object) fails in
method, but not in constructor
Have a look at this code:
public class Tests : Object {
public Tests () {
assert (this is Object); // THIS ASSERTION PASSES
ts = new TestSuite ("dot_cap_dimmer") ;
ts.add (new TestCase ("construction", (TestFixtureFunc)
setup, (TestFixtureFunc) test_construction, (TestFixtureFunc)
teardown)) ;
TestSuite.get_root ().add_suite (ts) ;
}
void setup(void * fixture) {
assert (this is Object); // THIS ASSERTION FAILS
this.cut = new DotCapDimmer () ;
this.cut.on_change.connect (slot) ;
this.called = false ;
}
...
}
Would anyone know what happens to the `this` variable when called
from the TestCase ? How came it is no longer an Object anymore ?
You need to instantiate your fixture so it has `this` to act upon.
Your fixture should be a separate object to the test.
As an outline;
void main( string[] args ) {
Test.init(ref args);
TestSuite suite = new TestSuite( "DotCapDimmer" );
TestSuite.get_root ().add_suite (suite);
MyTestFixture fixture = new MyTestFixture();
suite.add( new TestCase ( "MyFirstTestCase", fixture.set_up,
(TestFixtureFunc)test_my_first_test, fixture.tear_down ));
Test.run();
}
void test_my_first_test( MyTestFixture fixture ) {
// do testing
}
I put the test in a namespace like
UnitTest.ModuleDirectory.FilenameOfClassToBeTested
There is also g_test_add_data_func_full () instead, but I haven't used
that yet.
Al
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]