gpt4 book ai didi

unit-testing - 如果存在断言错误,Junit 报告不会生成报告

转载 作者:行者123 更新时间:2023-12-04 21:21:48 25 4
gpt4 key购买 nike

如果存在断言错误,Junit 报告不会生成报告
要测试的类

public class Math {

static public int add(int a, int b) {

return a + b;
}

static public int multiply ( int a, int b) {
if(a==0&&b==0)
return 0;;
return a * b;
}
}

Junit 测试类
import junit.framework.*;

public class TestMath extends TestCase {

protected void setUp() {

// put common setup code in here
}

protected void tearDown() {

// put common cleanup code in here
}

public void testAdd() {
int num1 = 3;
int num2 = 2;
int total = 5;
int sum = 0;
sum = Math.add(num1, num2);
assertEquals(sum, total);
}

public void testMulitply() {

int num1 = 3;
int num2 = 7;
int total = 21;
int sum = 0;
sum = Math.multiply(num1, num2);
assertEquals("Problem with multiply", sum, total);


num1 = 5;
num2 = 4;
total = 20;
sum = Math.multiply(num1, num2);
assertEquals("Problem with multiply", sum, total);

}
public void testv(){
Assert.assertEquals(1, Math.multiply(0, 0));
}

}

我正在使用 junit 报告来生成报告

问题是如果断言失败,报告不会生成,Ant Build 就会失败。我的假设是,如果断言失败,它应该在失败中列出,而不是在构建结果中列出错误。

Ant XML
<project name="SampleJUnitTests" default="dist" basedir=".">
<description>
Sample JUnit Tests
</description>
<!-- set global properties for this build -->

<property name="project_name" value="junitSamples"/>
<property name="src" location="src"/>
<property name="build" location="bin"/>
<property name="dist" location="dist"/>
<property name="lib" location="lib"/>
<property name="res" location="res"/>
<property name="reports" location="reports"/>

<!-- the names of various distributable files -->
<property name="jar_name" value="${project_name}.jar"/>
<property name="war_name" value="${project_name}.war"/>

<!-- top level targets -->

<target name="compile" depends="init" description="compile the source code " >
<javac srcdir="${src}" destdir="${build}">
<classpath>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>

</target>

<target name="dist" depends="compile" description="generate the distributable files " >

<!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
<jar jarfile="${dist}/${jar_name}" basedir="${build}"/>

</target>

<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
<delete dir="${reports}"/>
</target>

<target name="run-tests" depends="compile" description="run your test suite" >
<junit printsummary="yes" haltonfailure="yes" showoutput="yes" >
<classpath>
<pathelement path="${build}"/>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</classpath>

<batchtest fork="yes" todir="${reports}/raw/">
<formatter type="xml"/>
<fileset dir="${src}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
</junit>
</target>

<target name ="test" depends="run-tests">
<junitreport todir="${reports}">
<fileset dir="${reports}/raw/">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${reports}/html/"/>
</junitreport>
</target>

<target name ="run" depends="" description="if this project can be run, run it" >

</target>

<!-- supporting targets -->

<target name="init" description="initialize the build environment" >
<!-- Create the time stamp -->
<tstamp/>
<!-- Create directory structures -->
<mkdir dir="${build}"/>
<mkdir dir="${lib}"/>
<mkdir dir="${dist}/lib"/>
<mkdir dir="${reports}"/>
<mkdir dir="${reports}/raw/"/>
<mkdir dir="${reports}/html/"/>
</target>

<target name="all" depends="clean, test">

</target>

</project>

我的要求是,如果断言失败,它应该显示失败?我需要做什么 ?

最佳答案

这个问题已由 Tharani 在评论中回答......回答它以使其成为未回答......

更改haltonfailure="no"的值,它将按加速运行...

关于unit-testing - 如果存在断言错误,Junit 报告不会生成报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com