[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
2022-07-19 20:57:49
質問
Celeryのドキュメント は Django 内で Celery をテストすることに言及しています。 が、Django を使っていない場合に Celery タスクをテストする方法は説明されていません。どのようにするのでしょうか?
どのように解決するのですか?
どのunittestライブラリでも、タスクを同期的にテストすることは可能です。私は通常、celery のタスクで作業するとき、2 つの異なるテスト セッションを行います。最初のセッションは(私がここで提案しているように)完全に同期的であり、アルゴリズムがすべきことを行うことを確認するものであるべきです。2番目のセッションはシステム全体(ブローカーを含む)を使用し、シリアライズの問題やその他の配布、通信の問題がないことを確認します。
というわけで。
from celery import Celery
celery = Celery()
@celery.task
def add(x, y):
return x + y
そしてあなたのテスト。
from nose.tools import eq_
def test_add_task():
rst = add.apply(args=(4, 4)).get()
eq_(rst, 8)
お役に立てれば幸いです。
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] Python Logging でログメッセージが2回表示される件
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] pyvenv-3.4 は 0 ではない終了ステータス 1 を返しました。
-
[解決済み] models.pyを複数のファイルに分割する
-
[解決済み] asyncio.ensure_future vs. BaseEventLoop.create_task vs. simple coroutine?