2017-02-08 12 views
1

私はテスト用のユーティリティ関数のライブラリを書いています。私はそれらをテストしたいと思います。Goの「テスト」パッケージ機能をテストするにはどうすればよいですか?

そのような機能の例は次のとおりです。

func IsShwifty(t *testing.T, foo string) bool { 
    result, err := bar.MyFunction(string) 
    if err != nil { 
     t.Error("Failed to get shwifty: " + foo, err) 
    } 
    return result == "shwifty" 
} 

私はエラーを返し、その後t.Errorを作るMyFunction作るために何かにフィードTestIsShwiftyを書きたいと思います。

func TestIsShwifty(t *testing.T) { 
    if doesError(t, IsShwifty(t)) == false { 
    t.Error("Oh know! We didn't error!") 
    } 
} 

ゴーで、このことが可能です:その後、私のようなものでTestIsShwiftyパスを持っているしたいですか?

+3

あなたが遭遇した障害は何ですか?エラーは何ですか? –

+0

エラーはテストを中断させますが、エラーが発生したときにテストをパスします。 – FlaqueDeau

+0

テストツールでサポートされていないものが必要なようです。私はあなたがそれを達成しようとは思わない。 –

答えて

1

私はそれを理解しました。

testing.Tという別のインスタンスを作成するだけで済みます。

func TestIsShwifty(t *testing.T) { 
    newT := testing.T{} 
    IsShwifty(newT) 
    if newT.Failed() == false { 
    t.Error("Test should have failed") 
    } 
} 
+1

私は間違っていました。 :-) –

関連する問題