Release v0.6.16
Release Notes:
Features
- add faker to dependencies (for examples)
- add table test example
- Readme updates
pkg/allure (v0.6.3)
Features
- Add
ToJSON() ([]byte, error)
method to theResult
object. It marshallResult
to the JSON and returns error if any. - Add
ToJSON() ([]byte, error)
method to theContainer
object. It marshallContainer
to the JSON and returns error if any. - Add
Done() error
method to the Container object. It works same asResult.Done
method. - Now
Result.Done()
returns error if any.
pkg/framework (v0.6.16)
Features
✨ Major:
Parametrized tests
Now you can run your parametrized tests in new way at GO
- ❓ How to use it?
- You need extend your suite struct with array of parameters. Its name MUST be like
ParamTestNameWithoutPrefix
.
i.e. if your test named likeTableTestCities
so param should have nameParamCities
- You need to create test method that will take your parameter as second argument after
provider.T
. Test name **
MUST** have prefixTableTest
instead of justTest
. i.e.TableTestCities
.
Simple example:
package suite_demo
import (
"testing"
"github.com/jackc/fake"
"github.com/ozontech/allure-go/pkg/framework/provider"
"github.com/ozontech/allure-go/pkg/framework/suite"
)
type ParametrizedSuite struct {
suite.Suite
// ParamCities param has name as expected test but has prefix Param instead of TableTest
ParamCities []string
}
func (s *ParametrizedSuite) BeforeAll(t provider.T) {
for i := 0; i < 10; i++ {
s.ParamCities = append(s.ParamCities, fake.City())
}
}
// TableTestCities is parametrized test has name prefix TableTest instead of Test
func (s *ParametrizedSuite) TableTestCities(t provider.T, city string) {
t.Parallel()
t.Require().NotEmpty(city)
}
func TestNewParametrizedDemo(t *testing.T) {
suite.RunSuite(t, new(ParametrizedSuite))
}
runner.RunTests
and suite.RunSuites
ouput:
Now runner.RunTests
and suite.RunSuites
returns interface SuiteResult. It contains all information about tests that you can use to customize your allure integrations
✨ Minor:
- reworked test collecting
- now errors in file creations will be logging as
t.Error
- provider.T.Run now returns
allure.Result
pointer