我刚刚开始使用symfony,我想获得一个特定供应商的捆绑列表,迭代它们并在每个默认控制器上调用$ bundle-> renderSomething()函数.
首先,我需要获取bundle的列表来迭代或迭代每个对象.有关最佳方法的任何想法吗?
我已经搜索过,但找不到我正在寻找的东西,手册在这方面没什么帮助.我对单元测试很新,所以不确定我是否在正确的轨道上.无论如何,问题.我有一节课:
<?php
class testClass {
public function doSomething($array_of_stuff) {
return AnotherClass::returnRandomElement($array_of_stuff);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
现在,显然我希望AnotherClass::returnRandomElement($array_of_stuff);每次都返回相同的东西.我的问题是,在我的单元测试中,我如何模拟这个对象?
我已经尝试添加AnotherClass到测试文件的顶部,但是当我想测试时,AnotherClass我得到"无法重新声明类"错误.
我想我理解工厂类,但我不确定在这种情况下我将如何应用它.我是否需要编写一个完全独立的AnotherClass类,其中包含测试数据,然后使用Factory类加载而不是真正的AnotherClass?或者使用工厂模式只是一个红鲱鱼.
我试过这个:
$RedirectUtils_stub = $this->getMockForAbstractClass('RedirectUtils');
$o1 = new stdClass();
$o1->id = 2;
$o1->test_id = 2;
$o1->weight = 60;
$o1->data = "http://www.google.com/?ffdfd=fdfdfdfd?route=1";
$RedirectUtils_stub->expects($this->any())
->method('chooseRandomRoot')
->will($this->returnValue($o1));
$RedirectUtils_stub->expects($this->any())
->method('decodeQueryString')
->will($this->returnValue(array()));
Run Code Online (Sandbox Code Playgroud)
在setUp()函数中,这些存根被忽略,我无法弄清楚它是我做错了什么,还是我访问AnotherClass方法的方式.
救命!这让我疯了.
所以,我试图在我的服务器上运行casperJS作为cron作业,这是crontab:
* * * * * /usr/local/bin/casperjs /var/www/javascript/uat/prime.sh 2>&1
Run Code Online (Sandbox Code Playgroud)
这是prime.sh
#!/bin/bash
export PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs
/usr/local/bin/casperjs /var/www/javascript/uat/prime.js 2>&1
Run Code Online (Sandbox Code Playgroud)
我还将导出添加到用户的.bash_profile中,但是cron通过电子邮件发送给我
Fatal: [Errno 2] No such file or directory; did you install phantomjs?
Run Code Online (Sandbox Code Playgroud)
不知道还能做什么!有什么建议?
我正在尝试这样做:
SELECT
userId, count(userId) as counter
FROM
quicklink
GROUP BY
userId
HAVING
count(*) >= 3'
Run Code Online (Sandbox Code Playgroud)
在使用querybuilder的学说中,我得到了这个:
$query = $this->createQueryBuilder('q')
->select('userId, count(userId) as counter')
->groupby('userId')
->having('counter >= 3')
->getQuery();
return $query->getResult();
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
[Semantical Error] line 0, col 103 near 'HAVING count(*)': Error: Cannot group by undefined identification variable.
Run Code Online (Sandbox Code Playgroud)
真的与学说挣扎.:(
我有一个对象,在属性名称中包含分号,当我var_dump时,我得到:
object(Sales) {
[thisisa:propertyname] => 'some value'
}
Run Code Online (Sandbox Code Playgroud)
那么,我该如何进入该物业?$ object-> thisisa:propertyname抛出错误.我刚才读到某个地方你可以包装thisisa:某些字符中的属性名称(我试过{,[,(,|)但我不记得哪个.
此外,似乎使用:
$var = "thisisa:propertyname";
$object->$$var;
Run Code Online (Sandbox Code Playgroud)
也不起作用.
救命!
麦克风