質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。

Q&A

解決済

2回答

2170閲覧

CLIの意味となんのためのtest_cli_runner() なのか?

sequelanonymous

総合スコア123

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。

0グッド

0クリップ

投稿2018/08/12 09:38

  1. CLIの私の理解は、ターミナルからうつコマンドだと思っていましたが、pythonでいう(flaskでいう)CLIは、また違った意味のようで、コマンドが以下のURL先のようにつくれる?!もの?例えば、Click。。。少なく以下も文脈でのCLIが何を意味しているのか理解ができずにいます。

  2. さらに、なぜ、ターミナル上で使うコマンドをつくったとしてわざわざそれをテストする必要性がでてくる意味がわかりません。仮に、必要があったとして、test_cli_runner() を実行してCliRunnerをわざわざ作成する意味がわからずにいます。

http://flask.pocoo.org/docs/1.0/testing/#testing-cli

Testing CLI Commands Click comes with utilities for testing your CLI commands. A CliRunner runs commands in isolation and captures the output in a Result object. Flask provides test_cli_runner() to create a FlaskCliRunner that passes the Flask app to the CLI automatically. Use its invoke() method to call commands in the same way they would be called from the command line. import click @app.cli.command('hello') @click.option('--name', default='World') def hello_command(name) click.echo(f'Hello, {name}!') def test_hello(): runner = app.test_cli_runner() # invoke the command directly result = runner.invoke(hello_command, ['--name', 'Flask']) assert 'Hello, Flask' in result.output # or by name result = runner.invoke(args=['hello']) assert 'World' in result.output In the example above, invoking the command by name is useful because it verifies that the command was correctly registered with the app. If you want to test how your command parses parameters, without running the command, use its make_context() method. This is useful for testing complex validation rules and custom types.

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

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

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

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

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

guest

回答2

0

CLIはCommand line interfaceでいいと思います。Flaskだからと言って特別なことはないです。

CLIのテストについて、CLIを使ってデータベースを初期化する、という話題があったと思いますが、当該のコマンドで正しくテーブルが作成されているかを確認するのは大事だと思います。

投稿2018/08/12 10:12

tachikoma

総合スコア3601

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

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

sequelanonymous

2018/08/12 10:21

> CLIを使ってデータベースを初期化する コマンドでデータベースを初期化するっていうのがイメージできないのですが、具体的にどういうコマンドをうって初期化することをおっしゃっていますでしょうか? migrationコマンドをターミナルからうつ時とかそういうことでしょうか?
guest

0

自己解決

以下のURL先とかぶる質問
https://teratail.com/questions/140916

投稿2018/08/13 01:49

sequelanonymous

総合スコア123

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問