JUnit 單元測試 學深入人心的同時,也發現它對用戶交互測試無能為力: ◆TestCase允許 測試人員 作動態的修改 可以在Test Case中實現一個測試參數輸入功能(UI 或參數配置文件)來解決這個問題,但實現這些功能的代價與重復工作量會很大。 ◆TestCase可以方
JUnit 單元測試學深入人心的同時,也發現它對用戶交互測試無能為力:
◆TestCase允許測試人員作動態的修改
可以在Test Case中實現一個測試參數輸入功能(UI 或參數配置文件)來解決這個問題,但實現這些功能的代價與重復工作量會很大。
◆TestCase可以方便地重復使用、組合、保存
不是所有所有測試環境下,都容許打開一個重量級的Java IDE編寫有嚴格規范的Java代碼。這就是腳本語言受歡迎的原因。
BeanShell可以較好解決以上問題。
BeanShell基本
bsh.Interpreter 是beanShell 的主要接口。
以下可以實現一個簡單的Java Shell:
public class TestInt {
public static void main(String[] args) {
bsh.Interpreter.main(args);
}
}
結果:
BeanShell 2.0b4 - by Pat Niemeyer (
[email protected])
bsh % System.out.println("Hello BeanShell");
Hello BeanShell
bsh %
你也可以用以下代碼實現同樣的功能,代碼中可以比較明顯地看出其結構:
public static void main(String[] args) {
Reader in = new InputStreamReader( System.in );
PrintStream out = System.out;
PrintStream err = System.err;
boolean interactive = true;;
bsh.Interpreter i = new Interpreter( in, out, err, interactive );
i.run();//線程在這裡阻塞讀System.in
}