🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Q&A

解決済

1回答

1266閲覧

Firestoreセキュリティルールのテストでタイムアウトが発生する

masy

総合スコア11

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

0グッド

0クリップ

投稿2019/12/11 11:16

編集2019/12/11 11:37

簡単なサンプルでfirestoreのエミュレーターを使ってセキュリティルールをテストしようとしたのですが、必ずタイムアウトが発生してしまいます。。
もし同じ現象が発生した方、解決方法に心当たりがある方は是非ご教示ください!

環境

以下記事を基にそのまま作成
テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション)

npmパッケージバージョン

% npm list --depth=0 tdd_firestore_practice@1.0.0 ***/tdd_firestore_practice ├── @firebase/testing@0.16.2 ├── @types/jest@24.0.23 ├── filesystem@1.0.1 ├── jest@24.9.0 ├── node-pre-gyp@0.14.0 extraneous ├── ts-jest@24.2.0 └── typescript@3.7.3

実行結果

テスト実行前にエミュレータ起動

$ firebase emulators:start --only firestore

テスト実行

$ yarn test yarn run v1.19.2 $ jest FAIL tests/firestore.test.ts (9.384s) Firestoreセキュリティルール ✕ 認証がなくとも読み書きが可能 (5016ms) ● Firestoreセキュリティルール › 認証がなくとも読み書きが可能 : Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Error: 41 | // 以降にテストを記載 42 | // ... > 43 | test("認証がなくとも読み書きが可能", async () => { | ^ 44 | const db = createAuthApp(); 45 | const user = usersRef(db).doc("test"); 46 | await firebase.assertSucceeds(user.set({ name: "太郎" })); at new Spec (node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22) at Suite.<anonymous> (tests/firestore.test.ts:43:3) at Object.<anonymous> (tests/firestore.test.ts:22:1) Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 11.991s Ran all test suites. error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決しました。どうやら設定が間違っていたようです。

投稿2019/12/12 02:15

masy

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問