Fixed an issue when executing empty Features or Scenarios
Этот коммит содержится в:
родитель
f988d266ed
коммит
6f6ffc597a
2 изменённых файлов: 27 добавлений и 2 удалений
5
fmt.go
5
fmt.go
|
@ -242,7 +242,8 @@ func (f *basefmt) Node(n interface{}) {
|
||||||
case *gherkin.Scenario:
|
case *gherkin.Scenario:
|
||||||
f.owner = t
|
f.owner = t
|
||||||
feature := f.features[len(f.features)-1]
|
feature := f.features[len(f.features)-1]
|
||||||
feature.Scenarios = append(feature.Scenarios, &scenario{Name: t.Name})
|
feature.time = timeNowFunc()
|
||||||
|
feature.Scenarios = append(feature.Scenarios, &scenario{Name: t.Name, time: feature.time})
|
||||||
case *gherkin.ScenarioOutline:
|
case *gherkin.ScenarioOutline:
|
||||||
feature := f.features[len(f.features)-1]
|
feature := f.features[len(f.features)-1]
|
||||||
feature.Scenarios = append(feature.Scenarios, &scenario{OutlineName: t.Name})
|
feature.Scenarios = append(feature.Scenarios, &scenario{OutlineName: t.Name})
|
||||||
|
@ -252,7 +253,7 @@ func (f *basefmt) Node(n interface{}) {
|
||||||
feature := f.features[len(f.features)-1]
|
feature := f.features[len(f.features)-1]
|
||||||
lastExample := feature.Scenarios[len(feature.Scenarios)-1]
|
lastExample := feature.Scenarios[len(feature.Scenarios)-1]
|
||||||
|
|
||||||
newExample := scenario{OutlineName: lastExample.OutlineName, ExampleNo: lastExample.ExampleNo + 1}
|
newExample := scenario{OutlineName: lastExample.OutlineName, ExampleNo: lastExample.ExampleNo + 1, time: timeNowFunc()}
|
||||||
newExample.Name = fmt.Sprintf("%s #%d", newExample.OutlineName, newExample.ExampleNo)
|
newExample.Name = fmt.Sprintf("%s #%d", newExample.OutlineName, newExample.ExampleNo)
|
||||||
|
|
||||||
const firstExample = 1
|
const firstExample = 1
|
||||||
|
|
24
suite.go
24
suite.go
|
@ -26,16 +26,28 @@ type feature struct {
|
||||||
|
|
||||||
Scenarios []*scenario
|
Scenarios []*scenario
|
||||||
|
|
||||||
|
time time.Time
|
||||||
Content []byte `json:"-"`
|
Content []byte `json:"-"`
|
||||||
Path string `json:"path"`
|
Path string `json:"path"`
|
||||||
order int
|
order int
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f feature) startedAt() time.Time {
|
func (f feature) startedAt() time.Time {
|
||||||
|
<<<<<<< Updated upstream
|
||||||
return f.Scenarios[0].startedAt()
|
return f.Scenarios[0].startedAt()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f feature) finishedAt() time.Time {
|
func (f feature) finishedAt() time.Time {
|
||||||
|
=======
|
||||||
|
return f.time
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f feature) finishedAt() time.Time {
|
||||||
|
if len(f.Scenarios) == 0 {
|
||||||
|
return f.startedAt()
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> Stashed changes
|
||||||
return f.Scenarios[len(f.Scenarios)-1].finishedAt()
|
return f.Scenarios[len(f.Scenarios)-1].finishedAt()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,14 +60,26 @@ type scenario struct {
|
||||||
Name string
|
Name string
|
||||||
OutlineName string
|
OutlineName string
|
||||||
ExampleNo int
|
ExampleNo int
|
||||||
|
time time.Time
|
||||||
Steps []*stepResult
|
Steps []*stepResult
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s scenario) startedAt() time.Time {
|
func (s scenario) startedAt() time.Time {
|
||||||
|
<<<<<<< Updated upstream
|
||||||
return s.Steps[0].time
|
return s.Steps[0].time
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s scenario) finishedAt() time.Time {
|
func (s scenario) finishedAt() time.Time {
|
||||||
|
=======
|
||||||
|
return s.time
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s scenario) finishedAt() time.Time {
|
||||||
|
if len(s.Steps) == 0 {
|
||||||
|
return s.startedAt()
|
||||||
|
}
|
||||||
|
|
||||||
|
>>>>>>> Stashed changes
|
||||||
return s.Steps[len(s.Steps)-1].time
|
return s.Steps[len(s.Steps)-1].time
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче