1、内容:
下面是某在线交流平台系统的详细设计说明书的部分内容,其中对该系统管理员功能的需求如下:
A、帖子管理:管理员查看帖子列表,逻辑审核、删除帖子。
B、标签管理:管理员查看标签列表,添加标签,修改标签信息。
C、用户管理:管理员查看用户列表,删除、恢复用户。
下面是对系统管理模块、查询统计模块、基础数据管理模块的描述,请按照要求补充完整对应的说明。
用户管理模块
● 功能:( 1 )实现用户的登录和身份验证功能。
● 性能:为用户提供登录界面。
● 输入项目:( 2 )用户名和密码。
● 输出项目:用户名密码匹配,输出“登录成功!”;用户名密码匹配失败,输出“密码错误!”。
帖子管理模块
(1) 查看帖子管理:
● 功能: ( 3 )管理员查看帖子列表,以便进行审核或删除操作。
● 性能:为用户提供查看帖子页面
● 输出项目: 帖子信息。
2、根据题目描述,编写Java代码完成测试。
答案
测试用例说明:
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* AccountCheck 类的单元测试用例。
* 每个测试方法都直接对应测试用例表格中的一行。
*/
class AccountCheckTest {
private AccountCheck accountCheck;
@BeforeEach
void setUp() {
// 在每个测试方法运行前,都创建一个新的AccountCheck实例
// 这样可以确保测试之间的独立性
accountCheck = new AccountCheck();
}
@Test
@DisplayName("1. 验证空字符串 -> false")
void check_whenAccountIsEmpty_shouldReturnFalse() {
assertFalse(accountCheck.check(""), "测试用例1失败:空字符串应返回 false");
}
@Test
@DisplayName("2. 验证长度小于6 -> false")
void check_whenAccountIsTooShort_shouldReturnFalse() {
assertFalse(accountCheck.check("user1"), "测试用例2失败:长度为5的账号应返回 false");
}
@Test
@DisplayName("3. 验证长度等于12 -> false")
void check_whenAccountLengthIs12_shouldReturnFalse() {
assertFalse(accountCheck.check("longaccount1"), "测试用例3失败:长度为12的账号应返回 false");
}
@Test
@DisplayName("4. 验证以数字开头 -> false")
void check_whenAccountStartsWithNumber_shouldReturnFalse() {
assertFalse(accountCheck.check("1username"), "测试用例4失败:以数字开头的账号应返回 false");
}
@Test
@DisplayName("5. 验证以下划线开头 -> false")
void check_whenAccountStartsWithUnderscore_shouldReturnFalse() {
assertFalse(accountCheck.check("_username"), "测试用例5失败:以下划线开头的账号应返回 false");
}
@Test
@DisplayName("6. 验证包含非法字符('-') -> false")
void check_whenAccountContainsInvalidChar_shouldReturnFalse() {
assertFalse(accountCheck.check("user-name"), "测试用例6失败:包含'-'的账号应返回 false");
}
@Test
@DisplayName("7. 验证最小合法长度(6) -> true")
void check_whenAccountHasMinValidLength_shouldReturnTrue() {
assertTrue(accountCheck.check("normal"), "测试用例7失败:长度为6的合法账号应返回 true");
}
@Test
@DisplayName("8. 验证最大合法长度(11) -> true")
void check_whenAccountHasMaxValidLength_shouldReturnTrue() {
assertTrue(accountCheck.check("verylongone"), "测试用例8失败:长度为11的合法账号应返回 true");
}
@Test
@DisplayName("9. 验证字母/数字/下划线的合法组合 -> true")
void check_whenAccountIsValidCombination_shouldReturnTrue() {
assertTrue(accountCheck.check("user_001"), "测试用例9失败:'user_001'应返回 true");
}
@Test
@DisplayName("10. 验证包含大写字母的合法输入 -> true")
void check_whenAccountContainsUppercase_shouldReturnTrue() {
assertTrue(accountCheck.check("AdminUser"), "测试用例10失败:包含大写字母的合法账号应返回 true");
}
}
如何运行测试
环境准备:确保你的Java项目中引入了 JUnit 5 库。如果使用 Maven,可以在
pom.xml中添加以下依赖:文件结构:将
AccountCheck.java放在src/main/java目录下,将AccountCheckTest.java放在src/test/java目录下。运行:在你的IDE(如 IntelliJ IDEA 或 Eclipse)中,直接右键点击
AccountCheckTest.java文件或类名,选择 "Run 'AccountCheckTest'" 即可执行所有测试用例。IDE会清晰地展示哪些用例通过,哪些失败。
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.0</version> <!-- 使用较新版本 -->
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>