各テストの完了後に、データのクリーンアップと実行後のデータを実行する必要があります。私のフォルダー構造によると、すべての *_test.go ファイルは特定のディレクトリにあります。プロジェクト レベルで customsuites/customsuite.go ファイルを作成しました。以下は私のフォルダ構造です。
.
|-- go.mod
|-- go.sum
|-- calculator
| `-- calculator.go
|-- stringoperations
| `-- string.go
|-- customsuites
| `-- customtestsuite.go
`-- tests
|-- calculator
| `-- calculator_test.go
|-- string
| `-- string_test.go
`-- testsuite_test.go
CustomTestSuite 構造をテストにインポートする際に問題に直面しています。異なるパッケージでテスト前/後のメソッドを個別に保持する方法はありますか?
customtestsuite.go
package customsuites
import (
"fmt"
"github.com/stretchr/testify/suite"
)
type CustomTestSuites struct {
suite.Suite
}
func (suite *CustomTestSuites) BeforeTest(suiteName, testName string) {
fmt.Println("Before Test" + suiteName + ":::" + testName)
}
func (suite *CustomTestSuites) AfterTest(suiteName, testName string) {
fmt.Println("After Test" + suiteName + ":::" + testName)
}
testsuite_test.go
import (
"github.com/priyankshah217/godog-poc/customsuites"
"testing"
)
func (suite *customsuites.CustomTestSuites) Test_TestSuite(t *testing.T) {
suite.Run(t, new(customsuites.CustomTestSuites))
}
電卓_test.go
package calculator
import (
"github.com/priyankshah217/godog-poc/calculator"
"github.com/priyankshah217/godog-poc/customsuites"
)
func (suite *customsuites.CustomTestSuites) TestMul() {
type args struct {
no1 int
no2 int
}
tests := []struct {
name string
args args
want int
}{
{"tc-1", struct {
no1 int
no2 int
}{2, 3}, 6},
}
for _, tt := range tests {
suite.Run(tt.name, func() {
suite.Equal(tt.want, calculator.Mul(tt.args.no1, tt.args.no2))
})
}
}
func (suite *customsuites.CustomTestSuites) TestAdd() {
type args struct {
no1 int
no2 int
}
tests := []struct {
name string
args args
want int
}{
{
"tc-1",
struct {
no1 int
no2 int
}{2, 3},
5,
},
}
for _, tt := range tests {
suite.Run(tt.name, func() {
suite.Equal(tt.want, calculator.Add(tt.args.no1, tt.args.no2))
})
}
}