Reputation: 11739
I'm trying to build a sample test class using junit framework.
I've downloaded junit4.9b3.
When I try to complie my test class I get the following error:-
javac -cp ".;C:\Documents and Settings\user\Desktop\junit\junit4.9b3\junit-4.9b3.jar"
TestSubscription.java
TestSubscription.java:10: cannot find symbol
symbol : method assertTrue(boolean)
location: class TestSubscription
assertTrue(s.pricePerMonth()==100.0);
^
TestSubscription.java:17: cannot find symbol
symbol : method assertTrue(boolean)
location: class TestSubscription
assertTrue(s.pricePerMonth()==66.67);
^
2 errors
Looks like assertTrue is not available but the junit javadoc mentions this method.
I'm using the import as follows
import org.junit.*;
import org.junit.Assert.*;
Any ideas?
Upvotes: 25
Views: 38674
Reputation: 1500015
You've imported the types, but not used a static import to make the members available without qualification. If you use:
import static org.junit.Assert.*;
then that should statically import all the static methods in the Assert
class, so you can write assertTrue
instead of Assert.assertTrue
.
Note that presumably Assert
itself has nested types, otherwise I'd have expected your "normal" import to fail.
Upvotes: 52
Reputation: 33092
You have to do a static import.
import static org.junit.Assert.*;
Upvotes: 10