EclipseJUnit简单示例

开源项目 ww9992019com 发表于 5 天前

<div style="width:100%;float:left;" class="article-content">

                <input type="hidden" name="article_id" id="article_id" value="7921">
                <input type="hidden" name="catid" id="catid" value="0">

                <p>

<span>在本节中,我们将看到一个简单的JUnit例子。</span>

</p>

<p>

先创建一个工程,名称为:CalculateTest,并在这个工程上点击右键,选择:Build Path -&gt; Add Library -&gt; JUnit ...,如下图所示:

</p>

<p>

<img src="/uploads/tutorial/20151105/1-151105211612N0.png" alt="">

</p>

<p>

<span>选择 JUnit 的库版本为:JUnit 4,如下图所示:</span>

</p>

<p>

<span><img src="/uploads/tutorial/20151105/1-15110521162T15.png" alt=""><br>

</span>

</p>

<p>

<img src="">

</p>

<p>

整个工程的结构如下:

</p>

<p>

<img src="">

</p>

<p>

<img src="/uploads/tutorial/20151105/1-151105211644121.png" alt="">

</p>

<p>

首先,我们将介绍一个测试类:

</p>

<p>

<em>Calculate.java</em>

</p>

<div bitstream vera sans mono new courier monospace>

<div>

    <div>

<pre>package com.yiibai.junit;

public class Calculate {

public int sum(int var1, int var2) {

    System.out.println("相加的值是: " + var1 + " + " + var2);

    return var1 + var2;

}

}</pre>

    </div>

</div>

</div>

<p>

在上面的代码中,我们可以看到,类有一个公共的方法sum(), 它得到输入两个整数,将它们相加并返回结果。在这里,我们将测试这个方法。为了这个目的,我们将创建另一个类包括方法,将测试之前的类(在此情况下,我们只有一个方法进行测试)中每一个的方法。这是使用的最常见的方式。当然,如果一个方法非常复杂且要扩展,我们可以在一个以上的试验方法来测试这一复杂方法。创建测试用例的详细信息将显示在下面的部分。下面,有一个类是:CalculateTest.java,它具有我们的测试类的角色的代码:

</p>

<p>

<em>CalculateTest.java</em>

</p>

<div bitstream vera sans mono new courier monospace>

<div>

    <div>

<pre>package com.yiibai.junit;

import static org.junit.Assert.*;

import org.junit.Test;

public class CalculateTest {

Calculate calculation = new Calculate();

int sum = calculation.sum(2, 5);

int testSum = 7;



@Test 
public void testSum() {

    System.out.println("@Test sum(): " + sum + " = " + testSum);

    assertEquals(sum, testSum);

}

}</pre>

    </div>

</div>

</div>

<p>

让我们来解释一下上面的代码。首先,我们可以看到,有一个@Test的注解在 testSum()方法的上方。 这个注释指示该公共无效(public void)方法它所附着可以作为一个测试用例。因此,testSum()方法将用于测试公开方法 sum() 。 我们还可以观察一个方法 assertEquals(sum, testsum)。 assertEquals ([String message], object expected, object actual) 方法持有两个对象作为输入,并断言这两个对象相等。

</p>

<p>

如果要运行测试类,右键点击测试类,并选择 Run As -&gt; Junit Test, 该程序的输出将类似于如下:

</p>

<pre class="prettyprint">相加的值是: 2 + 5

@Test sum(): 7 = 7</pre>

<p>

若要查看JUnit测试的实际结果,Eclipse IDE提供了JUnit的窗口,它显示了测试的结果。 在这种情况下测试成功,JUnit 窗口不显示任何错误或失败,因为我们可以在下面的图片中看到(Errors 0):

</p>

<p>

<img src="/uploads/tutorial/20151105/1-151105211H4356.png" alt="">

</p>

<p>

现在,如果我们改变这一行的代码:

</p>

<div bitstream vera sans mono new courier monospace>

<div>

    <div>

<pre class="prettyprint">int testSum = 10;</pre>

    </div>

</div>

</div>

<p>

使整数待测试不相等,则输出将是:

</p>

<div bitstream vera sans mono new courier monospace>

<div>

    <div>

<pre class="prettyprint lang-bsh">相加的值是: 2 + 5

@Test sum(): 7 = 10</pre>

    </div>

</div>

</div>

<p>

在JUnit窗口,有一个错误将出现,并且会显示这样的信息:

</p>

<div bitstream vera sans mono new courier monospace>

<div>

    <div>

<pre class="prettyprint lang-bsh">java.lang.AssertionError: expected: but was:

at com.yiibai.junit.CalculateTest.testSum(CalculateTest.java:16)</pre>

    </div>

</div>

</div>

                <br>
                <p style="text-align:center;float:left;width:100%;margin-top:24px;margin-bottom:18px;">
                        <button class="layui-btn layui-btn-danger" id="btn-reward"> ¥ 我要打赏 </button>  
                        <button class="layui-btn" id="article-perfect">
                            <i class="layui-icon layui-icon-edit"></i>教程纠错
                        </button>
                        <button class="layui-btn layui-btn-normal" id="action-collection">
                            <i class="layui-icon layui-icon-rate"></i>收藏
                        </button>
                </p>



                <div style="width:100%;margin-bottom: 16px; height: 32px;margin-top:18px;float:left;">

                    <span style="float:left;">上一篇:<a href="http://f2e.im/u/ww9992019com" title="JUnit介绍,JUnit是什么?"><i class="layui-icon"></i>
                            JUnit介绍,JUnit是什么?</a></span>
                                            <span style="float:right;">下一篇:<a href="http://f2e.im/u/ww9992019com" style="float:right;" title="下一篇:JUnit注解"><i class="layui-icon"></i>
                            JUnit注解</a></span>
                                            <div id="googlead" style="float:left;margin-top:8px;">
                        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
                        <!-- yiibai下方 -->
                        <ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-1090193214637198" data-ad-slot="6494738921"></ins>
                        <script>
                            (adsbygoogle = window.adsbygoogle || []).push({});
                        </script>
                    </div>
                </div>

                <div style="width:100%;margin-top:18px;float:left;">


            </div>
暂无回复,说出你的观点吧
登录后即可参与回复