在本文中,我们将讨论用于检查银行帐号是否有效并使用 junit 进行测试的 maven 项目。
junit 是什么? junit 是一个开源单元测试框架,被世界各地的 java 语言组织使用。在java语言中,每次添加新的代码,都需要重新执行测试用例,这样的功能是由junit框架来实现的。它用于用java语言编写和执行自动化测试用例。
用于检查银行帐号的 maven 项目每当我们处理银行软件或相关应用程序时,一件强制性的事情就是验证帐号。要使帐号有效,需要满足三个条件。
三个条件如下 -
银行帐号只能包含 14 位数字。
帐号中的 14 位数字不能全部为零。
帐号字段不能为空或为空。
现在,让我们在 maven 项目中编写满足所有这三个条件的业务逻辑。
算法步骤 1 - 首先创建一个文件夹 bankingaccountnoservices,其中包含名为 bankingaccountnoservices.java 的 java 文件,用于编写业务逻辑,第二个 testbankingaccountnoservices.java 用于测试业务逻辑。
步骤 2 - 创建另一个文件 pom.xml,它是一个 xml 文件,包含 maven 项目的项目和配置详细信息。
第 3 步 - 取得积极成果的关键因素是在 pom.xml 文件中记录相关项目和配置信息。
第 4 步 - 通过满足验证帐号所需的所有必要条件来编写业务逻辑。
步骤 5 - 在 test bankingaccountnoservices.java 文件中使用 junit 编写单元测试用例。
在继续操作之前应检查 pom.xml 文件的内容。它在讨论的所有方法中保持一致,并包含 maven 项目的重要配置详细信息。
示例<?xml version=1.0 encoding=utf-8?><project xmlns=http://maven.apache.org/pom/4.0.0 xmlns:xsi=http://www.w3.org/2001/xmlschema-instance xsi:schemalocation=http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd> <modelversion>4.0.0</modelversion> <groupid>com.example.bankingaccountnoservices </groupid> <artifactid>bankingaccountnoservices </artifactid> <packaging>jar</packaging> <version>1.0-snapshot</version> <properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>5.3.1</junit.version> <pitest.version>1.4.3</pitest.version> </properties> <dependencies> <dependency> <groupid>org.junit.jupiter</groupid> <artifactid>junit-jupiter-engine</artifactid> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <finalname>maven-mutation-testing</finalname> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-plugin</artifactid> <version>3.0.0-m1</version> </plugin> <plugin> <groupid>org.pitest</groupid> <artifactid>pitest-maven</artifactid> <version>${pitest.version}</version> <executions> <execution> <id>pit-report</id> <phase>test</phase> <goals> <goal>mutationcoverage</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupid>org.pitest</groupid> <artifactid>pitest-junit5-plugin</artifactid> <version>0.8</version> </dependency> </dependencies> <configuration> <targetclasses> <param>com.example.bankingaccountnoservices.* bankingaccountnoservices *</param> </targetclasses> <targettests> <param>com.example.bankingaccountnoservices.*</param> </targettests> </configuration> </plugin> </plugins> </build> </project>
上面的pom.xml代码包含我们的maven项目所需的所有项目和配置详细信息。
方法方法 1 - 在这种方法中,我们将看到使用 long.parselong 的业务逻辑。
方法 2 - 在这种方法中,我们将使用 character.isdigit() 函数编写业务逻辑。
方法 3 - 在这种方法中,我们将使用 java 中的正则表达式编写业务逻辑。
方法一:使用long.parselong由于帐号应该是14位数字,因此我们使用long.parselong函数将其转换为long类型,然后检查三个必要条件。
示例import java.util.*; public class bankingaccountnoservices { public boolean isvalid1(string accno) { if (accno == null || accno.equalsignorecase()) { return false; } try { long.parselong(accno); if (accno.length() == 14) { int c = 0; int n = accno.length(); for (int i = 0; i < n; i++) { if (accno.charat(i) == '0') { c += 1; } } if (c == 14) { return false; } else { return true; } } else { return false; } } catch (numberformatexception exception) { return false; } }}
在上面的代码中,我们首先检查帐号是否为 null 或空,其次检查帐号的长度是否为 14,然后计算其中零的数量。如果 14 位数字全部为零则返回 false,否则返回 true。
现在,让我们看看使用 junit 的单元测试用例。
import static org.junit.jupiter.api.assertions.assertequals;import org.junit.jupiter.api.displayname;import org.junit.jupiter.api.test; public class testbankingaccountnoservices { public void testforbankaccountno() { bankingaccountnoservices ob = new bankingaccountnoservices(); assertequals(false, ob.isvalid1(null)); assertequals(false, ob.isvalid1(8378939)); assertequals(true, ob.isvalid1(67874864837684)); assertequals(true, ob.isvalid1(23451234543214)); }}
在上面的代码中,我们检查了 4 个不同的单元测试用例来验证帐号。
方法2:使用character.isdigit()在这种方法中,我们将使用character.isdigit()函数检查帐号。我们将检查所有三个必要条件来验证帐号。
示例import java.util.*; public class bankingaccountnoservices { public boolean isvalid2(string accno){ if (accno == null || accno.equalsignorecase()) { return false; } if (accno.length() == 14) { int c = 0; for (int i = 0; i < accno.length(); i++) { if (!character.isdigit(accno.charat(i))) { return false; } if (accno.charat(i) == '0') { c += 1; } } if (c == 14) { return false; } else { return true; } } else { return false; } }}
在上面的代码中,我们首先检查帐号是否为 null 或空,其次检查帐号的长度是否为 14,然后检查 accno 变量的字符是否为数字或不是。第三,检查数字中是否存在零。
现在,让我们看看使用 junit 的单元测试用例。
import static org.junit.jupiter.api.assertions.assertequals;import org.junit.jupiter.api.displayname;import org.junit.jupiter.api.test; public class testbankingaccountnoservices { public void testforbankaccountno() { bankingaccountnoservices ob = new bankingaccountnoservices(); assertequals(false, ob.isvalid2()); assertequals(false, ob.isvalid2(00000000000000)); assertequals(true, ob.isvalid2(67874864837684)); assertequals(true, ob.isvalid2(34324353488345)); }}
在上面的代码中,我们检查了 4 个不同的单元测试用例来验证帐号。
方法 3:使用正则表达式模式在这种方法中,我们为数字定义正则表达式模式,并检查帐号验证的所有三个必要条件。
示例import java.util.regex.matcher;import java.util.regex.pattern; public class bankingaccountnoservices { public boolean isvalid3(string accno) { if (accno == null || accno.equalsignorecase()) { return false; } if (accno.length() == 14) { int c = 0; string r = [0-9]+; pattern p = pattern.compile(r); matcher matcher = p.matcher(accno); if (matcher.matches()) { for (int i = 0; i < accno.length(); i++) { if (accno.charat(i) == '0') { c += 1; } } if (c == 14) { return false; } else { return true; } } else { return false; } } else { return false; } }}
在上面的代码中,我们首先检查帐号是否为 null 或空,其次检查帐号的长度是否为 14,然后定义一个数字的正则表达式并检查这三个值使用 pattern 和 matcher 类的必要条件。
现在,让我们看看使用 junit 的单元测试用例。
import static org.junit.jupiter.api.assertions.assertequals;import org.junit.jupiter.api.displayname;import org.junit.jupiter.api.test; public class testbankingaccountnoservices { public void testforbankaccountno() { bankingaccountnoservices ob = new bankingaccountnoservices(); assertequals(false, ob.isvalid3(47283)); assertequals(false, ob.isvalid3(19037293284s32)); assertequals(true, ob.isvalid3(67874864837684)); assertequals(true, ob.isvalid3(34521678954632)); }}
在上面的代码中,我们检查了 4 个不同的单元测试用例来验证帐号。
结论在本文中,我们使用 junit 创建了一个 maven 项目,专门用于检查银行帐号。我们讨论了三种不同的方法来编写验证银行帐号的业务逻辑,即使用 long.parselong、character.isdigit() 和使用正则表达式模式。它们中的任何一个都可用于执行 java 中银行帐号的验证。
以上就是使用junit的maven项目 - 检查银行账号的详细内容。
