junit-test-example
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
junit-test-example [2008/10/12 08:10] – jtkorb | junit-test-example [2008/10/25 08:58] (current) – jtkorb | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | **Updates** | ||
+ | * Project 3 neither reads from standard input nor writes gradeable text to standard output, so the mechanism below to redirect these two streams to files is not necessary for this project. | ||
+ | * For command-line testing in the UNIX/Linux environment, | ||
+ | |||
====== Testing Your Project ====== | ====== Testing Your Project ====== | ||
//Test early, test often.// | //Test early, test often.// | ||
- | |||
- | **See the new section below on [[# | ||
- | |||
- | As the project specifications point out, it is difficult to redirect standard input from within DrJava, forcing you to constantly flip back and forth between the IDE and the command line. Here's an approach that gets around this problem and also makes it easy for you to add additional tests as you develop your code. | ||
Use a [[http:// | Use a [[http:// | ||
Line 11: | Line 11: | ||
Both DrJava and Eclipse include JUnit support. | Both DrJava and Eclipse include JUnit support. | ||
- | To use JUnit to test your main method, you need to make a minor structural change. | + | |
+ | ====== Testing Programs that Read from Standard In and Write to Standard Out ====== | ||
+ | |||
+ | For projects that take input from the command line (or redirected from a file) and produce gradable results to standard out, automated testing requires that these streams be redirected in the JUnit test class. | ||
+ | |||
+ | To use JUnit to test your main method | ||
Your '' | Your '' | ||
Line 58: | Line 63: | ||
import java.io.PrintStream; | import java.io.PrintStream; | ||
import java.util.Scanner; | import java.util.Scanner; | ||
+ | |||
====== Command-Line JUnit Testing in UNIX ====== | ====== Command-Line JUnit Testing in UNIX ====== | ||
Line 68: | Line 74: | ||
- Run your test class using the text-based JUnit runner, '' | - Run your test class using the text-based JUnit runner, '' | ||
- | Here is a script, named '' | + | Here is a script, named '' |
#!/bin/sh | #!/bin/sh | ||
Line 79: | Line 85: | ||
$ ./tester SpellCheckerTester | $ ./tester SpellCheckerTester | ||
- | For more general-purpose use, put the '' | + | For more general-purpose use, put the '' |
junit-test-example.1223824249.txt.gz · Last modified: 2008/10/12 08:10 by jtkorb