テスト

すべてのエンティティとサービスに対する TestBox ユニットスペックに加え、実際の HTTP リクエストを扱う統合スペック。

このページ内

ใƒ†ใ‚นใƒˆ

CBGenesis ใซใฏใ€ใ™ในใฆใฎใ‚ตใƒผใƒ“ใ‚นใจใ‚จใƒณใƒ†ใ‚ฃใƒ†ใ‚ฃใ‚’ใ‚ซใƒใƒผใ™ใ‚‹ TestBox ใ‚นใ‚คใƒผใƒˆใซๅŠ ใˆใ€ๅฎŸ้š›ใฎใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ๆ‰ฑใ†็ตฑๅˆใ‚นใƒšใƒƒใ‚ฏใŒๅŒๆขฑใ•ใ‚Œใฆใ„ใพใ™ใ€‚

ใƒ†ใ‚นใƒˆใฎๅฎŸ่กŒ

box testbox run                                  # All tests
box testbox run directory=tests.specs.unit       # Unit tests only
box testbox run directory=tests.specs.integration # Integration tests only
box testbox run bundles=tests.specs.unit.security.RoleServiceTest  # One bundle

ใƒฉใƒณใƒŠใƒผ(tests/runner.bxmใ€box.json ใฎ testbox.runner ใ‚ญใƒผใง้…็ทšใ•ใ‚Œใฆใ„ใพใ™)ใฏ labels= ใจ excludes= ใ‚‚ๅ—ใ‘ไป˜ใ‘ใพใ™ใŒใ€ใ“ใฎใ‚นใ‚คใƒผใƒˆๅ†…ใงใƒฉใƒ™ใƒซใ‚’ๅฎฃ่จ€ใ—ใฆใ„ใ‚‹ใ‚นใƒšใƒƒใ‚ฏใฏใชใ„ใŸใ‚ใ€ไปฃใ‚ใ‚Šใซใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚„ใƒใƒณใƒ‰ใƒซใงใƒ•ใ‚ฃใƒซใ‚ฟใƒชใƒณใ‚ฐใ—ใฆใใ ใ•ใ„ใ€‚--verbose ใฏๅฎŸ่กŒใ•ใ‚Œใ‚‹ๅ„ใ‚นใƒšใƒƒใ‚ฏใ‚’ๅ‡บๅŠ›ใ—ใ€outputFile=/outputFormats= ใฏใƒฌใƒใƒผใƒˆใ‚’ๆ›ธใๅ‡บใ—ใพใ™ - ใ“ใ‚ŒใŒ CI ใฎๅ‘ผใณๅ‡บใ—ๆ–นใงใ™ใ€‚

็ตฑๅˆใ‚นใƒšใƒƒใ‚ฏใซใฏๅฎŸ่กŒไธญใฎใ‚ตใƒผใƒใƒผใŒๅฟ…่ฆใงใ™

ๅฎŸ้š›ใฎใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’็™บ่กŒใ™ใ‚‹ใŸใ‚ใ€ไบ‹ๅ‰ใซ box server start ใŒ่ตทๅ‹•ใ—ใฆใŠใ‚Šใ€ใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใŒใƒžใ‚คใ‚ฐใƒฌใƒผใ‚ทใƒงใƒณใƒปใ‚ทใƒผใƒ‰ๆธˆใฟใงใ‚ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚CI ใฏ box testbox run ใฎๅ‰ใซใพใ•ใซใใ‚Œใ‚’่กŒใ„ใพใ™ใ€‚

ใƒ†ใ‚นใƒˆๆง‹้€ 

tests/
โ”œโ”€โ”€ Application.bx              Virtual ColdBox app (appMapping="/app")
โ”œโ”€โ”€ runner.bxm                  TestBox CLI runner entry
โ”œโ”€โ”€ run.bxm / index.bxm         Browser-based runner UI
โ”œโ”€โ”€ specs/
โ”‚   โ”œโ”€โ”€ integration/
โ”‚   โ”‚   โ”œโ”€โ”€ MainSpec.bx         Lifecycle events and exception handling
โ”‚   โ”‚   โ”œโ”€โ”€ AuthTest.bx         Login, registration, and password reset
โ”‚   โ”‚   โ”œโ”€โ”€ ProfileTest.bx      Password change and profile validation
โ”‚   โ”‚   โ””โ”€โ”€ SettingsTest.bx     Settings handler CRUD and registry
โ”‚   โ””โ”€โ”€ unit/
โ”‚       โ”œโ”€โ”€ security/           APIToken, APITokenService, Permission,
โ”‚       โ”‚                       PermissionService, RateLimitService,
โ”‚       โ”‚                       RememberTokenService, Role, RoleService,
โ”‚       โ”‚                       SecurityService
โ”‚       โ””โ”€โ”€ system/              AuditLog, AuditLogService, Setting,
โ”‚                               SettingService, User, UserService
โ””โ”€โ”€ resources/
    โ””โ”€โ”€ BaseIntegrationSpec.bx  Shared helper for integration tests

ๅ‘ฝๅ่ฆๅ‰‡ใฏใ€ใ‚จใƒณใƒ†ใ‚ฃใƒ†ใ‚ฃใ”ใจใซ 1 ใคใฎใƒฆใƒ‹ใƒƒใƒˆใ‚นใƒšใƒƒใ‚ฏใ€ใ‚ตใƒผใƒ“ใ‚นใ”ใจใซ 1 ใคใฎใƒฆใƒ‹ใƒƒใƒˆใ‚นใƒšใƒƒใ‚ฏใงใ€ใƒ‰ใƒกใ‚คใƒณใƒ•ใ‚ฉใƒซใƒ€ใƒผ(securityใ€system)ใ”ใจใซๅˆ†ใ‹ใ‚Œใฆใ„ใพใ™ - app/models ใ‚’ๅๆ˜ ใ—ใฆใ„ใพใ™ใ€‚่‡ชๅˆ†ใฎใƒ‰ใƒกใ‚คใƒณใ‚’่ฟฝๅŠ ใ™ใ‚‹ใจใใ‚‚ๅŒใ˜็ต„ใฟๅˆใ‚ใ›ใซๅพ“ใฃใฆใใ ใ•ใ„ใ€‚ใƒฉใƒณใƒŠใƒผใฏ *Spec*/*Test* ใจใ„ใ†ใƒ•ใ‚กใ‚คใƒซๅใƒ‘ใ‚ฟใƒผใƒณใงใƒใƒณใƒ‰ใƒซใ‚’ๆคœๅ‡บใ™ใ‚‹ใŸใ‚ใ€ใฉใกใ‚‰ใฎๆŽฅๅฐพ่พžใงใ‚‚ๆฉŸ่ƒฝใ—ใพใ™ใ€‚

็ตฑๅˆใ‚นใƒšใƒƒใ‚ฏใฎๆ›ธใๆ–น

็ตฑๅˆใ‚นใƒšใƒƒใ‚ฏใฏ tests.resources.BaseIntegrationSpec ใ‚’็ถ™ๆ‰ฟใ—ใฆใŠใ‚Šใ€ใ“ใ‚Œใฏ appMapping="/app" ใ‚’้…็ทšใ™ใ‚‹ใŸใ‚ใ€ใƒ‘ใ‚นใฏๆœฌ็•ช็’ฐๅขƒใจใพใฃใŸใๅŒใ˜ใ‚ˆใ†ใซ่งฃๆฑบใ•ใ‚Œใพใ™ใ€‚

component extends="tests.resources.BaseIntegrationSpec" {

    function run(){
        describe( "Registration", () => {
            it( "renders the registration form", () => {
                var event = execute( event = "Auth.register", renderResults = true );
                expect( event.getValue( "cbox_rendered_content" ) ).toInclude( "register" );
            } );
        } );
    }

}
beforeEach() ใงๅฟ…ใš็Šถๆ…‹ใ‚’ใƒชใ‚ปใƒƒใƒˆใ—ใฆใใ ใ•ใ„

ใ™ในใฆใฎ็ตฑๅˆใ‚นใƒšใƒƒใ‚ฏใง beforeEach() ๅ†…ใง setup() ใ‚’ๅ‘ผใณๅ‡บใ—ใ€ใ‚ใ‚‹ใƒ†ใ‚นใƒˆใฎ็Šถๆ…‹ใŒๆฌกใฎใƒ†ใ‚นใƒˆใซๆผใ‚Œใชใ„ใ‚ˆใ†ใซใ—ใฆใใ ใ•ใ„ใ€‚

ใƒใ‚งใƒƒใ‚ฏใ‚คใƒณๆธˆใฟใฎใ‚นใ‚คใƒผใƒˆใฏ 19 ใฎใ‚นใ‚คใƒผใƒˆใซใ‚ใŸใ‚‹ 185 ใฎใ‚นใƒšใƒƒใ‚ฏ ใงใ™: ใ™ในใฆใฎใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใƒปใ‚ทใ‚นใƒ†ใƒ ใ‚จใƒณใƒ†ใ‚ฃใƒ†ใ‚ฃใจใ‚ตใƒผใƒ“ใ‚นใซๅฏพใ™ใ‚‹ใƒฆใƒ‹ใƒƒใƒˆใ‚ซใƒใƒฌใƒƒใ‚ธใซๅŠ ใˆใ€ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใฎใƒฉใ‚คใƒ•ใ‚ตใ‚คใ‚ฏใƒซ(MainSpec)ใ€่ช่จผใƒ•ใƒญใƒผ(AuthTest)ใ€ใƒ—ใƒญใƒ•ใ‚ฃใƒผใƒซใƒใƒณใƒ‰ใƒฉใƒผ(ProfileTest)ใ€่จญๅฎšใƒใƒณใƒ‰ใƒฉใƒผ(SettingsTest)ใซๅฏพใ™ใ‚‹็ตฑๅˆใ‚นใƒšใƒƒใ‚ฏใงใ™ใ€‚Usersใ€Rolesใ€Permissionsใ€AuditLog ใฎ็ฎก็†ใƒใƒณใƒ‰ใƒฉใƒผใซใคใ„ใฆใฏใ€ใพใ ็ตฑๅˆใ‚ซใƒใƒฌใƒƒใ‚ธใŒใ‚ใ‚Šใพใ›ใ‚“ - ใใ‚Œใ‚‰ใฎไธŠใซๆง‹็ฏ‰ใ™ใ‚‹้š›ใซ่ฟฝๅŠ ใ—ใฆใใ ใ•ใ„ใ€‚ใ‚ตใƒผใƒ“ใ‚นใซใƒฆใƒ‹ใƒƒใƒˆใ‚นใƒšใƒƒใ‚ฏใŒใ‚ใ‚‹ใ‹ใ‚‰ใจใ„ใฃใฆใ€ใใฎๆฉŸ่ƒฝใŒใ‚ซใƒใƒผใ•ใ‚Œใฆใ„ใ‚‹ใจใฏ้™ใ‚Šใพใ›ใ‚“ใ€‚

このページを編集 Markdown をダウンロード 最終更新日 Oct 1, 2026, 2:02:30 PM