1 Star 0 Fork 0

api-go/smartystreets-goconvey

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
result.go 2.54 KB
一键复制 编辑 原始数据 按行查看 历史
package contract
import (
"path/filepath"
"strings"
"go/build"
"github.com/smartystreets/goconvey/convey/reporting"
"github.com/smartystreets/goconvey/web/server/messaging"
)
type Package struct {
Path string
Name string
Ignored bool
Disabled bool
BuildTags []string
TestArguments []string
Error error
Output string
Result *PackageResult
HasImportCycle bool
}
func NewPackage(folder *messaging.Folder, hasImportCycle bool) *Package {
self := new(Package)
self.Path = folder.Path
self.Name = resolvePackageName(self.Path)
self.Result = NewPackageResult(self.Name)
self.Ignored = folder.Ignored
self.Disabled = folder.Disabled
self.BuildTags = folder.BuildTags
self.TestArguments = folder.TestArguments
self.HasImportCycle = hasImportCycle
return self
}
func (self *Package) Active() bool {
return !self.Disabled && !self.Ignored
}
func (self *Package) HasUsableResult() bool {
return self.Active() && (self.Error == nil || (self.Output != ""))
}
type CompleteOutput struct {
Packages []*PackageResult
Revision string
Paused bool
}
var ( // PackageResult.Outcome values:
Ignored = "ignored"
Disabled = "disabled"
Passed = "passed"
Failed = "failed"
Panicked = "panicked"
BuildFailure = "build failure"
NoTestFiles = "no test files"
NoTestFunctions = "no test functions"
NoGoFiles = "no go code"
TestRunAbortedUnexpectedly = "test run aborted unexpectedly"
)
type PackageResult struct {
PackageName string
Elapsed float64
Coverage float64
Outcome string
BuildOutput string
TestResults []TestResult
}
func NewPackageResult(packageName string) *PackageResult {
self := new(PackageResult)
self.PackageName = packageName
self.TestResults = []TestResult{}
self.Coverage = -1
return self
}
type TestResult struct {
TestName string
Elapsed float64
Passed bool
Skipped bool
File string
Line int
Message string
Error string
Stories []reporting.ScopeResult
RawLines []string `json:",omitempty"`
}
func NewTestResult(testName string) *TestResult {
self := new(TestResult)
self.Stories = []reporting.ScopeResult{}
self.RawLines = []string{}
self.TestName = testName
return self
}
func resolvePackageName(path string) string {
pkg, err := build.ImportDir(path, build.FindOnly)
if err == nil {
return pkg.ImportPath
}
nameArr := strings.Split(path, endGoPath)
return nameArr[len(nameArr)-1]
}
const (
separator = string(filepath.Separator)
endGoPath = separator + "src" + separator
)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/netscript/smartystreets-goconvey.git
git@gitee.com:netscript/smartystreets-goconvey.git
netscript
smartystreets-goconvey
smartystreets-goconvey
v1.6.3

搜索帮助