金慶的專欄
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開(kāi)發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊(cè)
公告照片
搜索
積分與排名
積分 - 656592
排名 - 25
最新評(píng)論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫(kù)
asio 成為C++首選網(wǎng)絡(luò)庫(kù)
--linda
2.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫(kù)給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11032)
2.?SVN中邪惡的replace(10955)
3.?VS2005編譯libevent(10413)
4.?混音算法的學(xué)習(xí)與研究(10203)
5.?C調(diào)用lua腳本的效率測(cè)試(9007)
評(píng)論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯(cuò)誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
試用 go test suite
# 試用 go test suite
(金慶的專欄 2020.3)
github.com/stretchr/testify/suite 提供了測(cè)試套件功能,
可以在整個(gè)套件開(kāi)始結(jié)束時(shí)執(zhí)行動(dòng)作,也可以在每個(gè)測(cè)試開(kāi)始結(jié)束時(shí)執(zhí)行動(dòng)作。
假設(shè)有以下2個(gè)函數(shù)需要測(cè)試:
```
func foo() {
fmt.Printf("foo...\n")
}
func goo() {
fmt.Printf("goo...\n")
}
```
建立如下測(cè)試文件:
```
import (
"fmt"
"testing"
"github.com/stretchr/testify/suite"
)
type _Suite struct {
suite.Suite
}
func (s *_Suite) AfterTest(suiteName, testName string) {
fmt.Printf("AfterTest: suiteName=%s, testName=%s\n", suiteName, testName)
}
func (s *_Suite) BeforeTest(suiteName, testName string) {
fmt.Printf("BeforeTest: suiteName=%s, testName=%s\n", suiteName, testName)
}
func (s *_Suite) SetupSuite() {
fmt.Printf("SetupSuite()...\n")
}
func (s *_Suite) TearDownSuite() {
fmt.Printf("TearDownSuite()...\n")
}
func (s *_Suite) SetupTest() {
fmt.Printf("SetupTest()...\n")
}
func (s *_Suite) TearDownTest() {
fmt.Printf("TearDownTest()...\n")
}
func (s *_Suite) TestFoo() {
foo()
}
func (s *_Suite) TestGoo() {
goo()
}
// 讓 go test 執(zhí)行測(cè)試
func TestGooFoo(t *testing.T) {
suite.Run(t, new(_Suite))
}
```
輸出如下:
```
=== RUN TestGooFoo
SetupSuite()...
=== RUN TestGooFoo/TestFoo
SetupTest()...
BeforeTest: suiteName=_Suite, testName=TestFoo
foo...
AfterTest: suiteName=_Suite, testName=TestFoo
TearDownTest()...
=== RUN TestGooFoo/TestGoo
SetupTest()...
BeforeTest: suiteName=_Suite, testName=TestGoo
goo...
AfterTest: suiteName=_Suite, testName=TestGoo
TearDownTest()...
TearDownSuite()...
--- PASS: TestGooFoo (0.00s)
--- PASS: TestGooFoo/TestFoo (0.00s)
--- PASS: TestGooFoo/TestGoo (0.00s)
PASS
```
SetupSuite()/TearDownSuite() 僅執(zhí)行一次,
而 SetupTest()/TearDownTest()/BeforeTest()/AfterTest()對(duì)套件中的每個(gè)測(cè)試執(zhí)行一次。
缺省情況下,Suite 使用 assert.Assertion 執(zhí)行斷言, 見(jiàn)Suite定義:
```
type Suite struct {
*assert.Assertions
require *require.Assertions
t *testing.T
}
```
可以這樣執(zhí)行多個(gè)斷言,失敗時(shí)仍執(zhí)行其他斷言:
```
func (m *MySuite) TestAdd() {
m.Equal(1, Add(1, 1)) // FAIL
m.Equal(0, Add(1, 1)) // FAIL
}
```
可以重載成使用 require.Assertion,失敗時(shí)中斷執(zhí)行:
```
type MySuite struct {
suite.Suite
*require.Assertions
}
func (m *MySuite) TestAdd() {
m.Equal(1, Add(1, 1)) // FAIL and return
m.Equal(0, Add(1, 1)) // 不執(zhí)行
}
```
或者任意指定:
```
m.Assert().Equal(1, 2)
m.Require().Equal(1, 2)
```
posted on 2020-03-13 12:07
金慶
閱讀(706)
評(píng)論(0)
編輯
收藏
引用
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
久久精品无码一区二区无码
|
久久久久国产一区二区
|
日韩精品无码久久一区二区三
|
国产精品99久久精品
|
久久se精品一区精品二区国产
|
久久精品国产AV一区二区三区
|
国产激情久久久久久熟女老人
|
久久久精品人妻一区二区三区四
|
99久久久精品免费观看国产
|
久久亚洲欧美日本精品
|
久久人人爽人人爽人人片AV麻烦
|
色婷婷综合久久久中文字幕
|
国产亚洲欧美精品久久久
|
久久精品国产只有精品2020
|
久久综合九色综合网站
|
国内精品久久久久影院网站
|
国产精品久久自在自线观看
|
一日本道伊人久久综合影
|
国产69精品久久久久9999
|
精品久久久久久久无码
|
亚洲乱码中文字幕久久孕妇黑人
|
亚洲а∨天堂久久精品9966
|
国产精品欧美久久久久无广告
|
国产伊人久久
|
亚洲国产精品一区二区三区久久
|
久久91综合国产91久久精品
|
99久久国产主播综合精品
|
久久精品国产亚洲5555
|
蜜桃麻豆www久久国产精品
|
99久久这里只精品国产免费
|
奇米影视7777久久精品
|
久久青青草原精品影院
|
亚洲欧洲久久久精品
|
成人国内精品久久久久影院
|
久久精品无码一区二区三区日韩
|
久久国产免费
|
国产精品久久亚洲不卡动漫
|
亚洲欧美成人久久综合中文网
|
国内精品综合久久久40p
|
三级韩国一区久久二区综合
|
日韩精品久久无码人妻中文字幕
|