金慶的專(zhuān)欄
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lè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è)
公告照片
搜索
積分與排名
積分 - 654215
排名 - 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ò)誤(11017)
2.?SVN中邪惡的replace(10939)
3.?VS2005編譯libevent(10404)
4.?混音算法的學(xué)習(xí)與研究(10184)
5.?C調(diào)用lua腳本的效率測(cè)試(9003)
評(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
(金慶的專(zhuān)欄 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
金慶
閱讀(697)
評(píng)論(0)
編輯
收藏
引用
只有注冊(cè)用戶(hù)
登錄
后才能發(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 © 金慶
久久久久久精品无码人妻
|
亚洲精品视频久久久
|
伊人色综合久久天天人手人婷
|
久久天天躁夜夜躁狠狠躁2022
|
久久久久成人精品无码中文字幕
|
色综合久久综合网观看
|
国内精品久久久久久99
|
久久亚洲AV永久无码精品
|
亚洲精品无码久久不卡
|
久久夜色精品国产亚洲
|
久久亚洲AV无码精品色午夜麻豆
|
丁香狠狠色婷婷久久综合
|
久久无码精品一区二区三区
|
a高清免费毛片久久
|
青青久久精品国产免费看
|
中文成人无码精品久久久不卡
|
久久水蜜桃亚洲av无码精品麻豆
|
精品99久久aaa一级毛片
|
亚洲中文字幕久久精品无码APP
|
久久人人爽人人爽人人片AV东京热
|
青青热久久国产久精品
|
日本人妻丰满熟妇久久久久久
|
日本加勒比久久精品
|
99久久中文字幕
|
久久天堂AV综合合色蜜桃网
|
久久午夜无码鲁丝片秋霞
|
久久精品这里只有精99品
|
91超碰碰碰碰久久久久久综合
|
久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡
|
精品国产乱码久久久久软件
|
久久99精品久久久久久齐齐
|
久久人人爽人人爽人人片AV不
|
国产香蕉久久精品综合网
|
久久综合狠狠综合久久97色
|
国产91色综合久久免费
|
亚洲综合熟女久久久30p
|
久久精品无码一区二区无码
|
久久久亚洲AV波多野结衣
|
亚洲国产成人精品无码久久久久久综合
|
久久久久久国产a免费观看不卡
|
久久精品国产99国产精偷
|