2

仮想ホストでコードセプションを使用している人はいますか? もしそうなら、どうやってそれを機能させましたか?

2 つのテスト マシン (1 つは WAMP、もう 1 つは Ubuntu) があり、両方とも仮想ホストがセットアップされています。非常に基本的な codeception 受け入れテストを実行すると、仮想ホストのインデックス ページではなく、既定のページに移動しようとしているように見える応答が返されます。

私の仮想ホストは test と呼ばれます。私の/etc/hostsファイルの一部は次のようになります。

127.0.0.1       test

/etc/apache2/sites-enabled/test次のようになります。

<VirtualHost *:80>
    ServerName test

    DocumentRoot '/home/joel/projects/web/test'
    <Directory '/home/joel/projects/web/test'>
            Options -Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

ほとんどの場合、デフォルトの受け入れスイート セットアップ ファイルを使用しています。唯一の変更は、仮想マシンの名前を に入力することでしたtests/acceptance.suite.yml:

class_name: WebGuy
modules:
    enabled:
        - PhpBrowser
        - WebHelper
    config:
        PhpBrowser:
            url: 'http://test'

には/home/joel/projects/web/test/index.html、非常に単純な Web ページがあります。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Index</title>
</head>
<body>
    Hello, World!
</body>
</html>

このページは、wget や curl など、試したどのブラウザーでも正常に読み込むことができます。

私のコード受容テストも非常に簡単です。でtests/acceptance/WelcomeCept.php

<?php
$I = new WebGuy($scenario);
$I->amOnPage('/');
$I->see('Hello');

このテストを実行しようとすると、次の出力が得られます。

Codeception PHP Testing Framework v1.6.6
Powered by PHPUnit 3.7.24 by Sebastian Bergmann.

Suite unit started

Suite functional started

Suite acceptance started
Running WelcomeCept.php - Failed


Time: 15 ms, Memory: 20.25Mb

There was 1 failure:

---------
1) WelcomeCept.php
Ups, I couldn't see "Hello",
Failed asserting that 
--> It works! This is the default web page for this server. The web server software is running but no content has been added, yet.
--> contains "hello".

Scenario Steps:
2. I see "Hello"
1. I am on page "/"

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

私のデフォルトの Web ページ (127.0.0.1) は、「動作します!」というメッセージを返します。メッセージですが、仮想ホストに対するものはすべて「Hello, World」ページに送られます。コードセプションが私の仮想ホストに行かない理由はありますか? 問題の原因を追跡する方法についてのアイデアはありますか?

ありがとうございました!

――ジョエル


編集:

私はそれを考え出した。ではポート番号が必要だったtests/acceptance.suite.ymlので、これは機能しません。

config:
    PhpBrowser:
        url: 'http://test'

しかし、これはうまくいきます:

config:
    PhpBrowser:
        url: 'http://test:80'

これはどこにも文書化されていないようで、直感的ではないため、ポート 80 をデフォルトにするプル リクエストを送信しました。これはすぐには問題にならないかもしれません。

4

0 に答える 0