我正在关注rails3tutorial,在进行一些测试时我不明白"it"关键字的含义如下:
require 'spec_helper'
describe UsersController do
render_views
describe "GET 'new'" do
it "should be successful" do
get 'new'
response.should be_success
end
it "should have the right title" do
get 'new'
response.should have_selector("title", :content => "Sign up")
end
end
end
Run Code Online (Sandbox Code Playgroud)
代码片段来自:http://ruby.railstutorial.org/chapters/filling-in-the-layout#top上市5.26
我正在使用phpunit测试Zend Framework上的购物车,结帐,付款流程.我正在ShoppingCartController
通过向购物车添加产品进行测试,ShoppingCart
模型通过将产品ID存储在Zend会话命名空间中来处理产品添加,然后在另一个测试中我想测试产品是否已添加.同一个ShoppingCart
Model从同一个Zend Session命名空间变量中检索添加的产品列表.
添加产品测试看起来像这样并且运行良好,并且var_dump($_SESSION)
已添加到调试并正确显示产品:
public function testCanAddProductsToShoppingCart() {
$testProducts = array(
array(
"product_id" => "1",
"product_quantity" => "5"
),
array(
"product_id" => "1",
"product_quantity" => "3"
),
array(
"product_id" => "2",
"product_quantity" => "1"
)
);
Ecommerce_Model_Shoppingcart::clean();
foreach ($testProducts as $product) {
$this->request->setMethod('POST')
->setPost(array(
'product_id' => $product["product_id"],
'quantity' => $product["product_quantity"]
));
$this->dispatch($this->getRouteUrl("add_to_shopping_cart"));
$this->assertResponseCode('200');
}
$products = Ecommerce_Model_Shoppingcart::getData();
$this->assertTrue($products[2][0]["product"] instanceof Ecommerce_Model_Product);
$this->assertEquals($products[2][0]["quantity"],
"8");
$this->assertTrue($products[2][1]["product"] instanceof Ecommerce_Model_Product);
$this->assertEquals($products[2][1]["quantity"],
"1");
var_dump($_SESSION);
}
Run Code Online (Sandbox Code Playgroud)
第二个测试尝试通过询问模型来检索产品var_dump($_SESSION)
,在测试开始时已经为null. …