0

各テストの完了後に、データのクリーンアップと実行後のデータを実行する必要があります。私のフォルダー構造によると、すべての *_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))
        })
    }
}
4

0 に答える 0