moto+boto3のテストでOSError、NoCredentialErrorが出る場合

現象

moto == 1.3.7,
boto3 == 1.9.130
環境でテスト実行時に発生。

urllib3.exceptions.NewConnectionError: <botocore.awsrequest.AWSHTTPConnection object at xxxxxxxxxxxxxxxx>: Failed to establish a new connection: [WinError 10051] 到達できないネットワークでソケット操作を実行しようとしました。

テストのときにboto3がモックできておらず、AWSに通信が行ってしまっているが、認証情報不足でErrorになっているっぽい。

原因

開発環境にAWS接続用環境変数が存在しなかったため。
ダミーでもいいので何らかの値がないとmotoが動かない。
コマンドラインから、 AWS CLIaws configure を実行して、何らかの値をセットしておく。
(AWS CLIが入っていない場合は、

docs.aws.amazon.com

を参照。)

パソコン変えてからこれが発生して苦しんだ…初期設定はだいじ。