Documentation
¶
Overview ¶
Package testutil はテストで使用するユーティリティ群です。
Index ¶
- Constants
- Variables
- func DatastoreClear() error
- func DatastoreDump(filename string, namespace string, kinds []string) error
- func DatastoreRestore(filename string, namespace string) error
- func FlushGoonCache(ctx context.Context)
- func GetAppengineContext() context.Context
- func GetAppengineContextFor(inst aetest.Instance) context.Context
- func GetAppengineInstance() aetest.Instance
- func NewInstance(opts *aetest.Options) (aetest.Instance, error)
- func RefreshAppengineInstance()
- func Setup()
- func Teardown()
- type AppengineAPICallMock
- type AppengineMock
- func (m *AppengineMock) AddAPICallMock(mock AppengineAPICallMock)
- func (m *AppengineMock) GetLogsEqualOrMore(level LogLevel) []string
- func (m *AppengineMock) GetLogsEqualTo(level LogLevel) []string
- func (m *AppengineMock) MockContext(ctx context.Context) context.Context
- func (m *AppengineMock) MockInstance(inst aetest.Instance) aetest.Instance
- type Instance
- type LogLevel
Constants ¶
const ( // LogLevelDebug はデバッグレベルのログを識別します。 LogLevelDebug = iota // LogLevelInfo は情報レベルのログを識別します。 LogLevelInfo // LogLevelWarning は警告レベルのログを識別します。 LogLevelWarning // LogLevelError はエラーレベルのログを識別します。 LogLevelError // LogLevelCritical は致命レベルのログを識別します。 LogLevelCritical )
Variables ¶
var ( // ErrNotSupported は操作がサポートされていない場合に返るエラーです。 ErrNotSupported = errors.New("Not supported in this environment") )
Functions ¶
func DatastoreDump ¶
DatastoreDump は Datastore をダンプします。
func DatastoreRestore ¶
DatastoreRestore は Datastore をダンプから復旧します。
func FlushGoonCache ¶
FlushGoonCache は goon のキャッシュをリセットします。 goon 以外のキャッシュもリセットされることに注意してください。
func GetAppengineContext ¶
GetAppengineContext はテスト用の新しい GAE コンテキストを取得します。 aetest.NewContext とほぼ同等ですが、インスタンスを再利用します。 また、そのため終了処理が必要ありません。
func GetAppengineContextFor ¶
GetAppengineContextFor は指定のインスタンスに対する新しい GAE コンテキストを取得します。
func GetAppengineInstance ¶
GetAppengineInstance はテスト用の GAE のインスタンスを返します。 aetest.NewInstance と同じですが、インスタンスの使い回しをするので高速です。 新規のインスタンスが必要な場合、事前に RefreshAppengineInstance を呼び出してください。
func NewInstance ¶
NewInstance はテスト用に最適化したオプションで GAE のインスタンスを起動します。
func RefreshAppengineInstance ¶
func RefreshAppengineInstance()
RefreshAppengineInstance は使用中の GAE インスタンスを破棄し、 次から新しいインスタンスを利用します。
Types ¶
type AppengineAPICallMock ¶
type AppengineAPICallMock struct { // Count はモックを実行する回数を設定します。 // 0 を設定すると永久に繰り返します。 Count int // Service はモック化対象のサービスを設定します。 // 設定しない場合、全サービスが対象になります。 // 先頭一致でチェックするので、 datastore などを設定すれば // datastore_v3 なども対象になります。 Service string // Method はモック化対象のメソッドを設定します。 // 設定しない場合、全メソッドが対象になります。 // 完全一致でチェックします。 Method string // Error は API 呼び出しを error にする場合に設定します。 Error error }
AppengineAPICallMock は Appengine の API 呼び出しのモック化の方法を設定します。
type AppengineMock ¶
type AppengineMock struct {
// contains filtered or unexported fields
}
AppengineMock は Appengine の API のモック化の機能を 提供します。
func NewAppengineMock ¶
func NewAppengineMock() *AppengineMock
NewAppengineMock は新しい AppengineMock を返します。
func (*AppengineMock) AddAPICallMock ¶
func (m *AppengineMock) AddAPICallMock(mock AppengineAPICallMock)
AddAPICallMock は API 呼び出しのモック処理を追加します。
func (*AppengineMock) GetLogsEqualOrMore ¶
func (m *AppengineMock) GetLogsEqualOrMore(level LogLevel) []string
GetLogsEqualOrMore はモック化したインスタンスで取得した、 指定レベルのログを返します。 Appengine SDK の内部実装に依存しているため、ログを取得できない場合もあります。 ログが何も取得できない場合は結果の判定を行わないでください。
func (*AppengineMock) GetLogsEqualTo ¶
func (m *AppengineMock) GetLogsEqualTo(level LogLevel) []string
GetLogsEqualTo はモック化したインスタンスで取得した、 指定レベルのログを返します。 Appengine SDK の内部実装に依存しているため、ログを取得できない場合もあります。 ログが何も取得できない場合は結果の判定を行わないでください。
func (*AppengineMock) MockContext ¶
func (m *AppengineMock) MockContext(ctx context.Context) context.Context
MockContext は Appengine の Context をモック化します。
func (*AppengineMock) MockInstance ¶
func (m *AppengineMock) MockInstance(inst aetest.Instance) aetest.Instance
MockInstance は Appengine の Instance をモック化します。 テストの完了時に Close を呼び出してください。 モック元の Instance の Close は(必要であれば)別途呼び出す必要があります。 また、本処理は Appengine SDK の内部処理に依存しているため、 サポートされない合があります。 その場合、単に nil を返しますので、テストをスキップしてください。