我正在尝试安装PHP Zip扩展.
我的服务器没有外部互联网访问权限,所以我自己从PECL下载了它:http://pecl.php.net/package/zip.我选择1.10.2,最新的"稳定"版本,并将其转移到我的服务器.
我跑了:
pear install zip-1.10.2.tgz
Run Code Online (Sandbox Code Playgroud)
并补充说
extension=zip.so
Run Code Online (Sandbox Code Playgroud)
按照指示到php.ini.我可以看到zip.so已创建并放在右侧extension_dir文件夹中.我重新启动了apache然后检查它是否通过运行加载:
php -m
Run Code Online (Sandbox Code Playgroud)
尽管如此,"zip"仍然不在该列表中.
我错过了一步还是做错了什么?我觉得这应该很简单,我开始觉得很傻,哈哈.
其他可能重要的东西:
CentOS Apache 2.2.3 PHP 5.2.16
我想利用Powermock和Mockito来模拟一些静态方法调用.我尽可能地遵循SO的说明和示例以及PowerMock 入门和MockStatic页面,但我还没有完成mockStatic()调用.
当我从我的测试类调用mockStatic(foo.class)时,我得到了这样的感受:
java.lang.NoClassDefFoundError: org/Mockito/mock/MockName
at org.powermock.api.mockito.PowerMockito.mockStatic(PowerMockito.java:70)
at ...my test class method call...
Run Code Online (Sandbox Code Playgroud)
我确定这是一个设置问题,因为我一直在寻找用于设置这个问题的术语非常令人困惑.我确实从PowerMock 下载中获取了Mockito Zip .在Eclipse(3.5.2)中,我打开了项目属性,并将所有Jars添加到构建路径中.我还尝试将整个解压缩的powermockito文件夹添加到我的环境变量类路径中,然后只是当powermockito jar无法解决时.
根据powermock说明,我在测试类的类级别中也有这些注释:
@RunWith(PowerMockRunner.class)
@PrepareForTest(ApplicationContextLoader.class)
Run Code Online (Sandbox Code Playgroud)
这些特定于powermock的导入:
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
Run Code Online (Sandbox Code Playgroud)
对于那些之前使用过PowerMockito的人来说,即使是一个指向正确方向的指针,或者要检查的东西也会非常有用.我很难看到我的设置与我见过的帖子有什么不同 - 从我所知道的 - 相同的语法.
在为别人的代码编写一些单元测试时,我遇到了一个有趣的":"运算符.它看起来像这样:
for(Class classInstance : instanceOfOtherClass){
//Do some irrelevant stuff
}
Run Code Online (Sandbox Code Playgroud)
我从未见过没有"?"的":"运算符,就像编写三元语句时一样.我已经做了相当多的谷歌搜索,似乎无法找到任何明智的答案,我应该怎么读这个......
我是不是太复杂了?有没有人见过它?