source: branches/version-2_12-dev/tests/class/Common_TestCase.php @ 22128

Revision 22128, 2.8 KB checked in by shift_hiroko.tamagawa, 9 years ago (diff)

単体テスト用基盤クラスと一部テストコードを追加

Line 
1<?php
2
3$HOME = realpath(dirname(__FILE__)) . "/../..";
4require_once($HOME . "/tests/class/replace/SC_Display_Ex.php");
5require_once($HOME . "/tests/class/replace/SC_Response_Ex.php");
6require_once($HOME . "/tests/class/test/util/User_Utils.php");
7require_once($HOME . "/tests/require.php");
8
9require_once($HOME . "/data/class/pages/LC_Page_Index.php");
10/**
11 * 全テストケースの基底クラスです。
12 * SC_Queryのテスト以外は基本的にこのクラスを継承して作成してください。
13 *
14 */
15class Common_TestCase extends PHPUnit_Framework_TestCase {
16
17  /** SC_Query インスタンス */
18  protected $objQuery;
19
20  /** 期待値 */
21  protected $expected;
22  /** 実際の値 */
23  protected $actual;
24
25  protected function setUp() {
26    $this->objQuery = SC_Query_Ex::getSingletonInstance();
27    $this->objQuery->begin();
28  }
29
30  protected function tearDown() {
31    $this->objQuery->rollback();
32    $this->objQuery = null;
33  }
34
35  /**
36   * 各テストfunctionの末尾で呼び出し、期待値と実際の値の比較を行います。
37   * 呼び出す前に、$expectedに期待値を、$actualに実際の値を導入してください。
38   */
39  protected function verify($message = null) {
40    $this->assertEquals($this->expected, $this->actual, $message);
41  }
42
43  //////////////////////////////////////////////////////////////////
44  // 以下はテスト用のユーティリティを使うためのサンプルです。
45  // 実際に動作させる場合にはコメントアウトを外して下さい。
46
47  /**
48   * actionExit()呼び出しを書き換えてexit()させない例です。
49   */
50  /**
51  public function testExit() {
52    $resp = new SC_Response_Ex();
53    $resp->actionExit();
54
55    $this->expected = TRUE;
56    $this->actual = $resp->isExited();
57    $this->verify('exitしたかどうか');
58  }
59  */
60
61  /**
62   * 端末種別をテストケースから自由に設定する例です。
63   */
64  /**
65  public function testDeviceType() {
66    $this->expected = array(DEVICE_TYPE_MOBILE, DEVICE_TYPE_SMARTPHONE);
67    $this->actual = array();
68
69    // 端末種別を設定
70    User_Utils::setDeviceType(DEVICE_TYPE_MOBILE);
71    $this->actual[0] = SC_Display_Ex::detectDevice();
72    User_Utils::setDeviceType(DEVICE_TYPE_SMARTPHONE);
73    $this->actual[1] = SC_Display_Ex::detectDevice();
74
75    $this->verify('端末種別');
76  }
77  */
78
79  /**
80   * ログイン状態をテストケースから自由に切り替える例です。
81   */
82  /**
83  public function testLoginState() {
84    $this->expected = array(FALSE, TRUE);
85    $this->actual = array();
86
87    $objCustomer = new SC_Customer_Ex();
88    User_Utils::setLoginState(FALSE);
89    $this->actual[0] = $objCustomer->isLoginSuccess();
90    User_Utils::setLoginState(TRUE, null, $this->objQuery);
91    $this->actual[1] = $objCustomer->isLoginSuccess();
92
93    $this->verify('ログイン状態');
94  }
95  */
96}
97
Note: See TracBrowser for help on using the repository browser.