Tôi đang viết một bài kiểm tra PHPUnit cho ứng dụng Yii của tôi. Tôi đọc here:Làm thế nào để tạo ra một đối tượng Model trong thử nghiệm Yii PHPUnit mà không cần một vật cố định?
Mẹo: Có quá nhiều tệp lịch thi đấu có thể làm tăng thời gian thử nghiệm một cách đáng kể. Vì lý do này, bạn chỉ nên cung cấp các tệp lịch thi đấu cho những bảng có nội dung có thể thay đổi trong khi kiểm tra. Bảng rằng phục vụ như tra cứu không thay đổi và do đó không cần tệp lịch thi đấu.
Tôi thực sự có một trận đấu lớn (180 hồ sơ, trong đó có> 20 giây để tải), mà chỉ được sử dụng như một cái nhìn lên. Tuy nhiên, tôi cần phải chuyển đổi nó dễ dàng từ một mảng kết hợp thành một đối tượng Model, giống như bạn thường có thể làm với cú pháp fixture bên dưới. Những mẹo gợi ý rằng đó cũng là một cách để tạo ra một đối tượng mẫu mà không cần dùng một vật cố, nhưng không đề cập cách này được thực hiện. bất cứ ai có thể giúp đỡ?
Tạo đối tượng mẫu với một vật cố:
// tests/fixtures/Order.php
return array(
'row_id' => array(
'id' => 1,
'name' => 'hello',
)
)
// tests/unit/AbcTest.php
public $fixtures = array(
'orders' => 'Order',
)
public test_abc()
{
$order = $this->orders('row_id');
....
}
Bạn không cần chỉ cần xây dựng mảng với ** CActiveRecord ** s. –