跳到主要内容

基础知识

ChatGPT-4o-mini 中英对照 Basics

Spring Shell 提供了一些实用工具和注解,以帮助测试您的应用程序。测试支持由两个模块提供:spring-shell-test 包含核心项目,而 spring-shell-test-autoconfigure 支持测试的自动配置。

测试 interactive 命令。

@ShellTest
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
class InteractiveTestSample {

@Autowired
ShellTestClient client;

@Test
void test() {
InteractiveShellSession session = client
.interactive()
.run();

await().atMost(2, TimeUnit.SECONDS).untilAsserted(() -> {
ShellAssertions.assertThat(session.screen())
.containsText("shell");
});

session.write(session.writeSequence().text("help").carriageReturn().build());
await().atMost(2, TimeUnit.SECONDS).untilAsserted(() -> {
ShellAssertions.assertThat(session.screen())
.containsText("AVAILABLE COMMANDS");
});
}
}
java

测试 非交互式 命令。

@ShellTest
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
class NonInteractiveTestSample {

@Autowired
ShellTestClient client;

@Test
void test() {
NonInteractiveShellSession session = client
.nonInterative("help")
.run();

await().atMost(2, TimeUnit.SECONDS).untilAsserted(() -> {
ShellAssertions.assertThat(session.screen())
.containsText("AVAILABLE COMMANDS");
});
}
}
java