Skills Plugins MCP Prompt Model 博客 我的中心

springboot-tdd

Test-driven development for Spring Boot using JUnit 5, Mockito, MockMvc, Testcontainers, and JaCoCo. Use when adding features, fixing bugs, or refactoring.

DeepseekModel キュレーション済みスキル 品質 優秀 · 90 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=affaan-m-ecc-skills-springboot-tdd-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name springboot-tdd description Test-driven development for Spring Boot using JUnit 5, Mockito, MockMvc, Testcontainers, and JaCoCo. Use when adding features, fixing bugs, or refactoring. metadata {"origin":"ECC"} Spring Boot TDD Workflow TDD guidance for Spring Boot services with 80%+ coverage (unit + integration). When to Use New features or endpoints Bug fixes or refactors Adding data access logic or security rules Workflow Write tests first (they should fail) Implement minimal code to pass Refactor with tests green Enforce coverage (JaCoCo) Unit Tests (JUnit 5 + Mockito) @ExtendWith(MockitoExtension.class) class MarketServiceTest { @Mock MarketRepository repo; @InjectMocks MarketService service; @Test void createsMarket () { CreateMarketRequest req = new CreateMarketRequest ( "name" , "desc" , Instant.now(), List.of( "cat" )); when (repo.save(any())).thenAnswer(inv -> inv.getArgument( 0 )); Market result = service.create(req); assertThat(result.name()).isEqualTo( "name" ); verify(repo).save(any()); } } Patterns: Arrange-Act-Assert Avoid partial mocks; prefer explicit stubbing Use @ParameterizedTest for variants Web Layer Tests (MockMvc) @WebMvcTest(MarketController.class) class MarketControllerTest { @Autowired MockMvc mockMvc; @MockBean MarketService marketService; @Test void returnsMarkets () throws Exception { when (marketService.list(any())).thenReturn(Page.empty()); mockMvc.perform(get( "/api/markets" )) .andExpect(status().isOk()) .andExpect(jsonPath( "$.content" ).isArray()); } } Integration Tests (SpringBootTest) @SpringBootTest @AutoConfigureMockMvc @ActiveProfiles("test") class MarketIntegrationTest { @Autowired MockMvc mockMvc; @Test void createsMarket () throws Exception { mockMvc.perform(post( "/api/markets" ) .contentType(MediaType.APPLICATION_JSON) .content( """ {"name":"Test","description":"Desc","endDate":"2030-01-01T00:00:00Z","categories":["general"]} """ )) .andExpect(status().isCreated()); } } Persistence Tests (DataJpaTest) @DataJpaTest @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @Import(TestContainersConfig.class) class MarketRepositoryTest { @Autowired MarketRepository repo; @Test void savesAndFinds () { MarketEntity entity = new MarketEntity (); entity.setName( "Test" ); repo.save(entity); Optional<MarketEntity> found = repo.findByName( "Test" ); assertThat(found).isPresent(); } } Testcontainers Use reusable containers for Postgres/Redis to mirror production Wire via @DynamicPropertySource to inject JDBC URLs into Spring context Coverage (JaCoCo) Maven snippet: < plugin > < groupId > org.jacoco </ groupId > < artifactId > jacoco-maven-plugin </ artifactId > < version > 0.8.14 </ version > < executions > < execution > < goals > < goal > prepare-agent </ goal > </ goals > </ execution > < execution > < id > report </ id > < phase > verify </ phase > < goals > < goal > report </ goal > </ goals > </ execution > </ executions > </ plugin > Assertions Prefer AssertJ ( assertThat ) for readability For JSON responses, use jsonPath For exceptions: assertThatThrownBy(...) Test Data Builders class MarketBuilder { private String name = "Test" ; MarketBuilder withName (String name) { this .name = name; return this ; } Market build () { return new Market ( null , name, MarketStatus.ACTIVE); } } CI Commands Maven: mvn -T 4 test or mvn verify Gradle: ./gradlew test jacocoTestReport Remember : Keep tests fast, isolated, and deterministic. Test behavior, not implementation details.
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。