開発
#data
testng-skill
Generates TestNG tests in Java with groups, data providers, parallel execution, XML suite configuration, and listeners. Use when user mentions "TestNG", "@DataProvider", "testng.xml", "groups". Triggers on: "TestNG", "@DataProvider", "testng.xml", "TestNG suite", "parallel tests Java".
DeepseekModel
キュレーション済みスキル
品質 優秀 · 78
v1.0.0
取得
https://deepseekmodel.com/api/download.php?id=lambdatest-agent-skills-testng-skill-skill-md&format=skill
ダウンロード .skill
標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name testng-skill description Generates TestNG tests in Java with groups, data providers, parallel execution, XML suite configuration, and listeners. Use when user mentions "TestNG", "@DataProvider", "testng.xml", "groups". Triggers on: "TestNG", "@DataProvider", "testng.xml", "TestNG suite", "parallel tests Java". languages ["Java"] category unit-testing license MIT metadata {"author":"TestMu AI","version":"1.0"} TestNG Testing Skill Core Patterns Basic Test with Groups import org.testng.annotations.*; import org.testng.Assert; public class LoginTest { @BeforeMethod public void setUp () { /* setup */ } @Test(groups = "smoke") public void testLoginSuccess () { Assert.assertTrue(loginService.login( "user@test.com" , "password123" )); } @Test(groups = "regression", dependsOnMethods = "testLoginSuccess") public void testAccessDashboard () { Assert.assertNotNull(dashboard.getContent()); } @Test(expectedExceptions = AuthenticationException.class) public void testLoginInvalidPassword () { loginService.login( "user@test.com" , "wrong" ); } @AfterMethod public void tearDown () { /* cleanup */ } } Data Providers @DataProvider(name = "loginData") public Object[][] loginData() { return new Object [][] { { "admin@test.com" , "admin123" , true }, { "user@test.com" , "password" , true }, { "invalid@test.com" , "wrong" , false }, }; } @Test(dataProvider = "loginData") public void testLogin (String email, String password, boolean expected) { Assert.assertEquals(loginService.login(email, password), expected); } TestNG XML Suite <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" > < suite name = "Regression" parallel = "tests" thread-count = "5" > < test name = "Smoke" > < groups > < run > < include name = "smoke" /> </ run > </ groups > < classes > < class name = "tests.LoginTest" /> </ classes > </ test > < test name = "Full" > < groups > < run > < include name = "regression" /> < exclude name = "flaky" /> </ run > </ groups > < packages > < package name = "tests.*" /> </ packages > </ test > </ suite > Parallel Execution < suite parallel = "methods" thread-count = "5" > <!-- Method level --> < suite parallel = "classes" thread-count = "5" > <!-- Class level --> < suite parallel = "tests" thread-count = "5" > <!-- Test level --> Soft Assertions SoftAssert soft = new SoftAssert (); soft.assertEquals(user.getName(), "Alice" ); soft.assertEquals(user.getAge(), 25 ); soft.assertTrue(user.isActive()); soft.assertAll(); // Reports all failures at once Listeners public class TestListener implements ITestListener { @Override public void onTestFailure (ITestResult result) { System.out.println( "Failed: " + result.getName()); // Take screenshot, log, etc. } } @Listeners(TestListener.class) public class LoginTest { /* ... */ } Lifecycle Annotations @BeforeSuite → @BeforeTest → @BeforeClass → @BeforeMethod → @Test → @AfterMethod → @AfterClass → @AfterTest → @AfterSuite Anti-Patterns Bad Good Why dependsOnMethods everywhere Independent tests Cascading failures No groups @Test(groups = "smoke") Can't run subsets Hard-coded test data @DataProvider Reusable Priority ordering Independent tests Fragile Quick Reference Task Command Run suite mvn test -DsuiteXmlFile=testng.xml Run group mvn test -Dgroups=smoke Run class mvn test -Dtest=LoginTest Reports test-output/index.html Deep Patterns → reference/playbook.md § Section Lines 1 Project Setup & Configuration Maven + Surefire config 2 Suite XML Configuration Multi-env, parallel, groups 3 BaseTest & Thread-Safe Driver ThreadLocal, ConfigReader 4 Data Providers (Advanced) Excel, JSON, CSV, parallel, cross-class 5 Factory Pattern Cross-browser matrix 6 Listeners (Production Suite) Retry, screenshot, timing 7 Soft Assertions & Dependencies Groups, method deps 8 Page Object Integration PageFactory, fluent POs 9 Parallel Execution Strategies Method/class/test/mixed 10 Reporting Integration Allure, ExtentReports 11 CI/CD Integration GitHub Actions, Jenkins 12 Debugging Quick-Reference 12 common problems 13 Best Practices Checklist 14 items
このスキルを起動するキーワード。クリックでコピーできます。
このスキルにはトリガーワードがありません。
ダウンロードした .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 / カスタム) |