Implement comprehensive BDD testing framework using Godog: - Added feature files for greet and health endpoints - Created test server that runs on port 9191 - Implemented step definitions using Godog's exact patterns - Fixed undefined step warnings by following Godog conventions - All tests passing with proper response validation - Maintained black box testing principles Key files: - pkg/bdd/steps/steps.go - Step definitions using StepContext struct - pkg/bdd/testserver/ - Test server implementation - features/*.feature - BDD feature files - pkg/bdd/README.md - Documentation for proper step patterns The implementation follows Godog's exact pattern suggestions to avoid undefined step warnings and provides comprehensive API testing.
25 lines
504 B
Go
25 lines
504 B
Go
package features
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"DanceLessonsCoach/pkg/bdd"
|
|
"github.com/cucumber/godog"
|
|
)
|
|
|
|
func TestBDD(t *testing.T) {
|
|
suite := godog.TestSuite{
|
|
Name: "DanceLessonsCoach BDD Tests",
|
|
TestSuiteInitializer: bdd.InitializeTestSuite,
|
|
ScenarioInitializer: bdd.InitializeScenario,
|
|
Options: &godog.Options{
|
|
Format: "progress",
|
|
Paths: []string{"."},
|
|
TestingT: t,
|
|
},
|
|
}
|
|
|
|
if suite.Run() != 0 {
|
|
t.Fatal("non-zero status returned, failed to run BDD tests")
|
|
}
|
|
} |