1 回答

TA貢獻1828條經驗 獲得超6個贊
測試資源名稱可能是硬編碼的,但路徑不一定必須如此。
(09:13) jnml@fsc-r550:~/src/tmp/SO/13854048$ ls -a
. .. a_test.go
(09:13) jnml@fsc-r550:~/src/tmp/SO/13854048$ cat a_test.go
package foo
import (
"testing"
"io/ioutil"
)
func Test(t *testing.T) {
b, err := ioutil.ReadFile("foo")
if err != nil {
t.Fatal(err)
}
t.Logf("resource content is: %s", b)
}
(09:13) jnml@fsc-r550:~/src/tmp/SO/13854048$ go test -v
=== RUN Test
--- FAIL: Test (0.00 seconds)
a_test.go:11: open foo: no such file or directory
FAIL
exit status 1
FAIL tmp/SO/13854048 0.005s
(09:14) jnml@fsc-r550:~/src/tmp/SO/13854048$
正確,尚無此類資源。讓我們來創建它。
(09:14) jnml@fsc-r550:~/src/tmp/SO/13854048$ echo blah > foo
(09:14) jnml@fsc-r550:~/src/tmp/SO/13854048$ go test -v
=== RUN Test
--- PASS: Test (0.00 seconds)
a_test.go:14: resource content is: blah
PASS
ok tmp/SO/13854048 0.007s
(09:14) jnml@fsc-r550:~/src/tmp/SO/13854048$ cd
(09:14) jnml@fsc-r550:~$ go test -v tmp/SO/13854048
=== RUN Test
--- PASS: Test (0.00 seconds)
a_test.go:14: resource content is: blah
PASS
ok tmp/SO/13854048 0.005s
(09:14) jnml@fsc-r550:~$
請注意(在上面的最后一次運行中),即使go test從其他位置調用了cwd,它也是正確的。
- 1 回答
- 0 關注
- 260 瀏覽
添加回答
舉報