私はプロジェクトを設定しました。私はそれをテストしたいと思います。今問題はデータベースでのプロダクション作業での私の機能ですが、テストではそれらを偽のデータベースに向けることにしました。haskell自動テスト設定
たとえば、私は文字列mongoHostAdress = "192.168.0.1"
を使用して、mongoデータベースにアクセスします。テストするときは、mongoHostAdress = "127.0.0.1"
に変更します。
私はこれを自動的に行うようにHaskellに指示できますか?
編集:より一般的な見通し
は、どのように私はプロジェクトの設定ファイルを作成し、プロジェクトの異なるステージに異なるのparamsを使用することができますか?
おそらくそれは次のようになりアドレスをハードコードして代わりに環境変数に格納しない方が良いでしょう。 12因子アプリ宣言のパートIII:https://12factor.net/config – danidiaz
@danidiazこれは私が欲しいものです。どのようにghcにyamlというファイルからいくつかのオプションを読んで指示することができますか? yamlファイルはhaskellの標準ですか?あなたが知っている、私が知らないこれらの種類のもの。 –
'aeson'パッケージhttp://hackage.haskell.org/package/aesonは、JSONの解析に使用できます。 'yaml'パッケージは' aeson'と同じメモリ内表現を使用し、YAMLファイルを読むことができますhttp://hackage.haskell.org/package/yaml-0.8.21.2/docs/Data-Yaml.html#v:decodeFile 。 'System.Environment'をインポートして環境変数を読み込むこともできます。 https://hackage.haskell.org/package/base-4.9.1.0/docs/System-Environment.html 'configurator-ng'パッケージも参照してください。https://hackage.haskell.org/package/configurator-ng – danidiaz