Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
f218d55c
C
Coca
项目概览
Phodal
/
Coca
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coca
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
f218d55c
编写于
12月 29, 2019
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: [tbs] add unknown test
上级
58b29c2a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
35 addition
and
2 deletion
+35
-2
core/domain/tbs/tbs_app.go
core/domain/tbs/tbs_app.go
+21
-0
core/domain/tbs/tbs_app_test.go
core/domain/tbs/tbs_app_test.go
+14
-2
未找到文件。
core/domain/tbs/tbs_app.go
浏览文件 @
f218d55c
...
...
@@ -2,6 +2,7 @@ package tbs
import
(
"github.com/phodal/coca/core/models"
"strings"
)
type
TbsApp
struct
{
...
...
@@ -30,17 +31,37 @@ func (a TbsApp) AnalysisPath(deps []models.JClassNode, identifiersMap map[string
}
var
methodCallMap
=
make
(
map
[
string
][]
models
.
JMethodCall
)
var
hasAssert
=
false
for
_
,
methodCall
:=
range
method
.
MethodCalls
{
checkRedundantPrintTest
(
clz
.
Path
,
methodCall
,
&
results
)
checkSleepyTest
(
clz
.
Path
,
methodCall
,
&
results
)
checkDuplicateAssertTest
(
methodCall
,
clz
,
&
results
,
methodCallMap
)
if
strings
.
Contains
(
methodCall
.
MethodName
,
"assert"
)
{
hasAssert
=
true
}
}
checkUnknownTest
(
clz
,
&
results
,
hasAssert
)
}
}
return
results
}
func
checkUnknownTest
(
clz
models
.
JClassNode
,
results
*
[]
TestBadSmell
,
hasAssert
bool
)
{
if
!
hasAssert
{
tbs
:=
*&
TestBadSmell
{
FileName
:
clz
.
Path
,
Type
:
"UnknownTest"
,
Description
:
""
,
Line
:
0
,
}
*
results
=
append
(
*
results
,
tbs
)
}
}
func
checkDuplicateAssertTest
(
methodCall
models
.
JMethodCall
,
clz
models
.
JClassNode
,
results
*
[]
TestBadSmell
,
methodCallMap
map
[
string
][]
models
.
JMethodCall
)
{
methodCallMap
[
methodCallName
(
methodCall
)]
=
append
(
methodCallMap
[
methodCallName
(
methodCall
)],
methodCall
)
if
len
(
methodCallMap
[
methodCallName
(
methodCall
)])
>=
3
{
...
...
core/domain/tbs/tbs_app_test.go
浏览文件 @
f218d55c
...
...
@@ -17,8 +17,9 @@ func TestTbsApp_EmptyTest(t *testing.T) {
codePath
=
filepath
.
FromSlash
(
codePath
)
result
:=
buildTbsResult
(
codePath
)
g
.
Expect
(
len
(
result
))
.
To
(
Equal
(
1
))
g
.
Expect
(
len
(
result
))
.
To
(
Equal
(
2
))
g
.
Expect
(
result
[
0
]
.
Type
)
.
To
(
Equal
(
"EmptyTest"
))
g
.
Expect
(
result
[
1
]
.
Type
)
.
To
(
Equal
(
"UnknownTest"
))
}
func
TestTbsApp_IgnoreTest
(
t
*
testing
.
T
)
{
...
...
@@ -28,7 +29,7 @@ func TestTbsApp_IgnoreTest(t *testing.T) {
codePath
=
filepath
.
FromSlash
(
codePath
)
result
:=
buildTbsResult
(
codePath
)
g
.
Expect
(
len
(
result
))
.
To
(
Equal
(
1
))
g
.
Expect
(
len
(
result
))
.
To
(
Equal
(
2
))
g
.
Expect
(
result
[
0
]
.
Type
)
.
To
(
Equal
(
"IgnoreTest"
))
}
...
...
@@ -62,6 +63,17 @@ func TestTbsApp_DuplicateAssertTest(t *testing.T) {
g
.
Expect
(
result
[
0
]
.
Type
)
.
To
(
Equal
(
"DuplicateAssertTest"
))
}
func
TestTbsApp_UnknownTest
(
t
*
testing
.
T
)
{
g
:=
NewGomegaWithT
(
t
)
codePath
:=
"../../../_fixtures/tbs/code/UnknownTest.java"
codePath
=
filepath
.
FromSlash
(
codePath
)
result
:=
buildTbsResult
(
codePath
)
g
.
Expect
(
result
[
0
]
.
Type
)
.
To
(
Equal
(
"EmptyTest"
))
g
.
Expect
(
result
[
1
]
.
Type
)
.
To
(
Equal
(
"UnknownTest"
))
}
func
buildTbsResult
(
codePath
string
)
[]
TestBadSmell
{
files
:=
support
.
GetJavaTestFiles
(
codePath
)
var
identifiers
[]
models
.
JIdentifier
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录