2012-08-22 32 views
99

Tôi đã nghe thuật ngữ này nhiều lần trước đây (khi nói về lập trình) nhưng không thể tìm thấy bất kỳ lời giải thích nào có nghĩa là gì. Bất kỳ bài viết hay giải thích nào tốt? Tôi không tìm thấy bất cứ điều gì đáng nói đến.Đồ đạc trong lập trình là gì?

Trả lời

94

Tôi nghĩ rằng bạn đang đề cập đến test fixtures:

Mục đích của bộ ghép đo là để đảm bảo rằng có một môi trường nổi tiếng và cố định, trong đó kiểm tra được chạy để kết quả là lặp lại. Một số người gọi đây là ngữ cảnh thử nghiệm.

Ví dụ về các đồ đạc:

- Loading a database with a specific, known set of data 
- Erasing a hard disk and installing a known clean operating system installation 
- Copying a specific known set of files 
- Preparation of input data and set-up/creation of fake or mock objects 

(nguồn: wikipedia, xem link ở trên)

Ở đây cũng có một số practical examples from the documentation of the 'Google Test' framework.

2

Chính xác đến chủ đề đó, JUnit có một tài liệu được giải thích tốt. Here là liên kết!

Phần liên quan của bài viết là:

Các xét nghiệm cần phải chạy trong bối cảnh của một tập nổi tiếng của các đối tượng. Bộ đối tượng này được gọi là vật cố thử nghiệm. Khi bạn đang viết các bài kiểm tra, bạn thường sẽ thấy rằng bạn dành nhiều thời gian hơn để viết mã để thiết lập lịch thi đấu hơn là bạn thực sự làm trong các giá trị thử nghiệm.

Ở một mức độ nào đó, bạn có thể viết mã lịch thi đấu dễ dàng hơn bằng cách chú ý cẩn thận đến các nhà thầu mà bạn viết. Tuy nhiên, một khoản tiết kiệm lớn hơn nhiều đến từ việc chia sẻ mã lịch thi đấu. Thông thường, bạn sẽ có thể sử dụng cùng một vật cố định cho một số thử nghiệm khác nhau. Mỗi trường hợp sẽ gửi các thông báo hoặc thông số hơi khác nhau đến lịch thi đấu và sẽ kiểm tra các kết quả khác nhau.

Khi bạn có một vật cố thông thường, đây là những gì bạn cần làm:

Thêm một lĩnh vực cho từng phần của bộ ghép Chú thích một phương pháp với @ org.junit.Before và khởi tạo các biến trong phương pháp Chú thích Ví dụ, để viết một số trường hợp thử nghiệm muốn làm việc với các kết hợp khác nhau của 12 Franc Thụy Sĩ, 14 Franc Thụy Sĩ và 28 đô la Mỹ, trước tiên hãy tạo a fixture:

public class MoneyTest { 
    private Money f12CHF; 
    private Money f14CHF; 
    private Money f28USD; 

    @Before public void setUp() { 
    f12CHF= new Money(12, "CHF"); 
    f14CHF= new Money(14, "CHF"); 
    f28USD= new Money(28, "USD"); 
    } 
} 
4

Tôi nghĩ rằng các bài kiểm tra PHP-đơn vị có rất tốt giải thích về điều này:

Một trong hầu hết các phần tốn nhiều thời gian viết bài kiểm tra được viết code để thiết lập thế giới lên trong một nhà nước biết đến và sau đó trả lại đến trạng thái ban đầu khi kiểm tra hoàn tất. Trạng thái đã biết này được gọi là lịch thi đấu.

Ngoài ra tài liệu Yii mô tả đồ đạc kiểm tra trong một hình dạng tốt:

kiểm tra tự động cần phải được thực hiện nhiều lần.Để đảm bảo quá trình thử nghiệm có thể lặp lại, chúng tôi muốn chạy thử nghiệm ở một số trạng thái được gọi là trạng thái được gọi là lịch thi đấu. Ví dụ: để kiểm tra tính năng tạo bài đăng trong ứng dụng blog, mỗi khi chúng tôi chạy thử nghiệm, các bảng lưu trữ dữ liệu có liên quan về bài đăng (ví dụ: bảng Bài đăng, bảng Bình luận ) sẽ được khôi phục về một số trạng thái cố định.

Đây là ví dụ đơn giản kiểm tra đồ đạc

<?php 
use PHPUnit\Framework\TestCase; 

class StackTest extends TestCase 
{ 
    protected $stack; 

    protected function setUp() 
    { 
     $this->stack = []; 
    } 

    protected function tearDown() 
    { 
     $this->stack = []; 
    } 

    public function testEmpty() 
    { 
     $this->assertTrue(empty($this->stack)); 
    } 

    public function testPush() 
    { 
     array_push($this->stack, 'foo'); 
     $this->assertEquals('foo', $this->stack[count($this->stack)-1]); 
     $this->assertFalse(empty($this->stack)); 
    } 

    public function testPop() 
    { 
     array_push($this->stack, 'foo'); 
     $this->assertEquals('foo', array_pop($this->stack)); 
     $this->assertTrue(empty($this->stack)); 
    } 
} 
?> 

PHP này kiểm tra đơn vị có chức năng với tên setUptearDown rằng trước khi chạy thử nghiệm của bạn, bạn thiết lập dữ liệu của bạn và trên hoàn tất, bạn có thể khôi phục chúng vào ban đầu tiểu bang.

Các vấn đề liên quan