0

「RubyonRailsチュートリアル3」を読んで、テストを理解しようとしています。どういうわけかインデンテーションのためにタブとスペースを混ぜていたので、私の(非常に単純な)テストが壊れたことに気づきました。

その結果、次のようなエラーが発生しました。

[31mURI::InvalidURIError:←[0m
       ←[31mthe scheme http does not accept registry part: www.example.comstatic_pages (or bad hostname?)←[0m

テストの最初の部分(合格した部分)をコピーして貼り付け、すべてのテストに合格した内容を変更した後。

私の質問:それを行うための「正しい」方法はありますか、それとも1つの方法(タブまたはスペース)に固執するだけですか?

4

2 に答える 2

3

私は同じ問題に悩まされていました。私たちの問題は、訪問ステートメントの最初のスラッシュ(/)を忘れたことだったと思います。次のコードは、URIエラーを出力するためのテストを行います。

visit 'static_pages/about'
page.should have_content('About us')

最初のスラッシュを書き留めると、コードは期待どおりに機能します。

visit '/static_pages/about'
page.should have_content('About us')
于 2012-12-25T00:01:50.213 に答える
0

タブ/スペースはテストに影響を与えないはずです。重要な言語はいくつかありますが、ルビーはその1つではありません。スペースのように見えたかもしれないものが、実際には問題を引き起こしているいくつかの目に見えないutf8文字であったと推測するのは危険です。他のソースからコピーして貼り付けたときに、これが発生したことがあります。そして、私が見たものに基づいてそれを書き直すだけで修正されます。

結論...あなたが望むものを使用してください...あなたの人生をよりシンプルにするためだけに一貫性を保ってください、しかしそれは問題ではありません。

于 2012-11-22T16:50:16.397 に答える