Search the web
Sign In
New User? Sign Up
junit · JUnit, the Java unit testing framework written by Kent Beck and Erich Gamma.
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
UnExplained Behavior Executing Parameteric Tests with JUnit 4.6   Message List  
Reply | Forward Message #21796 of 22044 |
Hi,

I tried to generate parameteric tests with JUnit 4.6. I don't know if this is an
expected behavior.

Test Code


@RunWith(Parameterized.class)
public class JUnit4Test {

private String name;

@BeforeClass
public static void setUpOnceBeforeClass() throws Exception {
System.out.println("Before Class");
}

@Before
public void setUp() throws Exception {
System.out.println("Before Method");
}

@After
public void tearDown() throws Exception {
System.out.println("After Method");
}

@AfterClass
public static void tearDownOnceAfterClass() throws Exception {
System.out.println("After Class");
}

@Test()
public void testOne() throws Exception {
System.out.println("One");
}

@Test
public void testTwo() throws Exception {
System.out.println("Two");
}

@Test
public void testThree() throws Exception {
System.out.println(this.name);
}

public JUnit4Test(String name) {
this.name = name;
}

@Parameters
public static Collection<Object[]> getNames() {
return Arrays.asList(new Object[][] {
{"Kartik"}, {"Rakesh"}, {"Ed"}
});
}
}

My output

Before Class
Before Method
One
After Method
Before Method
Two
After Method


Before Method
Kartik
After Method
Before Method
One
After Method
Before Method
Two
After Method
Before Method
Rakesh
After Method
Before Method
One
After Method
Before Method
Two
After Method
Before Method
Ed
After Method
After Class

It runs the unit tests three times. The testOne, testTwo outputs remain
unchanged, the testThree output changes with the depending upon the name.

Is this the expected behavior? I expected that testThree would run three times
each with a different parameter. Does anyone know if there is a reason for this
implementation.








Fri Jul 3, 2009 10:27 pm

kartik_krish...
Offline Offline
Send Email Send Email

Forward
Message #21796 of 22044 |
Expand Messages Author Sort by Date

Hi, I tried to generate parameteric tests with JUnit 4.6. I don't know if this is an expected behavior. Test Code @RunWith(Parameterized.class) public class...
kartik_krishnanand
kartik_krish...
Offline Send Email
Jul 4, 2009
1:12 am

I've modified the program by adding a counting variable that is scoped to the class. You can play arround with why this is important on your own time... but...
Mike Forsberg
bigmike_f
Offline Send Email
Jul 4, 2009
1:07 pm

It seems like this is intended. The documentation here: http://junit.org/apidocs/org/junit/runners/Parameterized.html When running a parameterized test class,...
Puneet Lakhina
mnferrari2000
Offline Send Email
Jul 4, 2009
1:07 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help