您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
测试实践:Eclipse之JUnit
作者:网络转载 发布时间:[ 2013/3/27 14:30:37 ] 推荐标签:

    都准绪,开始建立测试了, 所以现在需要给测试取一个名称。 你可能说,“这不是问题: 在每个类面前加个Test是了!” 但并不是那么简单的, 让我告诉你这样如果可能造成的问题:

    当时候我们在使用TDD的方式开发时, 需要测试的class或者method可能都不存在。

    也可能一个test 含盖了好几个方法,甚至好几个classes。

    这些仅仅是普通的问题, 下面还有更多。

    给个在test命名上的建议: test 类的取名首先应该表达出这个类是一个test类,并且能确切的表示出他要检查哪些,留有这个原class名的味道。 其实这很容易,请别担心这个名称会变的很长或者很丑陋,自己随便怎样取都可以。

    下面我们将使用Eclipse中的JUnit工具建立我们的第一个测试,假定你已经下载了这个产品的当前版本, 如果没有,你随时可以从它的官方网站(www.eclipse.org)下载。我们需要JUnit,你也可以从它的官方网站(www.junit.org)上下载,下载并解压缩到你硬盘中存放java libaries的地方。

    打开Eclipse.我们将建立一个新的工程的工作空间(workplace project) 点 File -> New ->Project,选择Java一路Next。 输入工程名称(project name),比如ProjectWithJUnit. 点击完成。 这样建立了一个新工程,让我们配置一下我们的Eclipse,于是,我们把JUnit library 添加到build path. 点击 Project-->Properties, 选择Java Build Path Libraries, 点Add Exteranal JARs 选中JUnit.jar。 你将会看到JUnit将会出现在的屏幕上 libraries列表中。 点Okay,Eclipse将强制rebuild所有的build paths.

    我们已经准备好,开始写我们的"Hello World"了 . 让我们遵照TDD规范:在编码之前建立测试。为了, 我们将假顶我们将要写的类名是HelloWorld 有一个返回字符串的方法 say().

    要建立这样一个test, 在ProjectWithJUnit标题上右键, 选择New -> Other,展开"Java", 选择JUnit. 在对话框的右边一拦里选择TestCase,接着点Next. 参见图1。

图1。 在Eclipse 中建立JUnit test

    在Test class:一拦里输入我们需要测试的class--HelloWorld。并且给Test case取个名称--- 比如,TestThatWeGetHelloWorldPrompt(是的,这看上去太长了,但是它能很清楚表达出它的意思) 点Finish完成。

    下面是 TestThatWeGetHelloWorldPrompt.java的代码:

public class TestThatWeGetHelloWorldPrompt extends TestCase { public TestThatWeGetHelloWorldPrompt( String name) { super(name); } public void testSay() { HelloWorld hi = new HelloWorld(); assertEquals("Hello World!", hi.say()); } public static void main(String[] args) { junit.textui.TestRunner.run( TestThatWeGetHelloWorldPrompt.class); } }

    这个代码一点都不复杂,仅仅有一点点特别。 不管怎样,让我们详细的检查它。 我们继承了JUnit的TestCase. (TestCase 在JUnit的javadoc里定义是"用来运行多个Test的固定装置")。 JUnit也定义了TestSuite 由于一组关联的TestCase组成..

    通过以下两步来建立我们简单的Test Case;

    建立Junit.framework.TestCase的实例.

    定义一些 以"test"开头的测试函数, 并且返回一空值.(比如 testWasTranscationSuccessful(),testShow()等等).

    TestThatWeGetHelloWorldPrompt.java 同时遵循这些标准: 这些TestCase的子类含有一个testSay()的方法. 这个方法由assertEquals()方法调用, 用于检验say()的返回值(按照这里的做法返回应该是不一致,因为一开始建立的HelloWorld 我们让say()返回的值是null).

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd