Bí quyết mà tôi thấy hữu ích khi thử nghiệm đơn vị là sử dụng cơ sở dữ liệu dựa trên tệp của sqlite. Bạn có thể tạo các bảng cơ sở dữ liệu rỗng trong một tệp có tên 'emptydatabase.dat' và sử dụng sqlite để tải nó. Bây giờ vào cuối thử nghiệm, bạn có thể ghi đè lên tệp cơ sở dữ liệu rỗng và bắt đầu với một cơ sở dữ liệu mới.
Bạn có thể tạo các file schema trống với mã này:
$classes = array(
$em->getClassMetadata('MyAPIBundle:Currency'),
$em->getClassMetadata('MyAPIBundle:Permission'),
$em->getClassMetadata('MyAPIBundle:Role'),
$em->getClassMetadata('MyAPIBundle:User'),
);
$tool = new \Doctrine\ORM\Tools\SchemaTool($em);
$tool->createSchema($classes);
rename($schemafile, dirname(__FILE__) . '/../Data/schema.dat');
print "Schema file was regenerated\n";
Cũng
Chúng tôi cũng tạo ra một dịch vụ cho tất cả các tổ chức lớn mà yêu cầu hoạt động, và dễ dàng kiểm tra rằng đứng dịch vụ một mình trên nó sở hữu. Lúc đầu, chúng tôi đã có mọi thứ trong Kho lưu trữ nhưng điều đó không có ý nghĩa, nhưng bằng cách di chuyển chúng sang Dịch vụ và chế nhạo tất cả các đối tượng phụ thuộc đã làm việc tốt hơn
Nguồn
2013-01-22 00:21:50
Look trong thư mục học thuyết orm, có một TestSuite đầy ... kiểm tra. – mpm
Đó là các bài kiểm tra đơn vị theo định hướng Doctrine, với abstractTestSuites cho Doctrine, không phải ứng dụng của tôi. Tôi đang tìm kiếm một cách đơn giản và thích hợp của đơn vị kiểm tra các mô hình của riêng tôi trong Gói của tôi. – vinnylinux