我一直在四处寻找,但到目前为止,只有Ariejan de Vroom在这里写过类似的文章。
我想知道我是否可以将 goroutine 引入单元测试,以便它可以精确计算正在运行的 goroutine 的并发数量,并可以告诉我它们是否按照我所说的数量正确生成了 goroutine。
例如,我有以下代码..
import (
"testing"
"github.com/stretchr/testify/assert"
)
func createList(job int, done chan bool) {
time.Sleep(500)
// do something
time.Sleep(500)
done <- true
return
}
func TestNewList(t *testing.T) {
list := NewList()
if assert.NotNil(t, list) {
const numGoRoutines = 16
jobs := make(chan int, numGoRoutines)
done := make(chan bool, 1)
for j := 1; j <= numGoRoutines; j++ {
jobs <- j
go createList(j, done)
fmt.Println("sent job", j)
}
close(jobs)
fmt.Println("sent all jobs")
<-done
}
慕村9548890
红颜莎娜
相关分类