我正在使用SimpleTest 1.0.1用CakePHP(刚刚发布的1.2.4)编写一个新的应用程序.我已经阅读了Cookbook的相关章节,在Bakery上搜索过,并阅读了Mark Story关于控制器测试的帖子(艰难的方式和模拟).
不幸的是,这些都没有涉及非平凡控制器的实际测试.许多应用程序将网站的区域置于登录后面,但我无法弄清楚如何测试以下简单方案:
下面的控制器和测试不能像我想象的那样工作.两个断言都失败了,我也得到一个PHP错误:
在[.../app/tests/cases/controllers/users_controller.test.php第79行]中,FAILED [NULL]不应该为空... .../app/tests/cases/controllers/users_controller.test.php - > UsersControllerTest - > testLogin
FAILED等于期望失败,因为[NULL]与[.../app/tests/cases/controllers/users_controller.test.php第80行]中的[Integer:1]不匹配.../app/tests/cases/controllers/users_controller.test.php - > UsersControllerTest - > testLogin
ERROR意外PHP错误[未定义索引:操作]严重性[E_NOTICE]在[.../cake/libs/controller/components/auth.php第266行] .../app/tests/cases/controllers/users_controller.test中. php - > UsersControllerTest - > testLogin
这是控制器(烘焙加Mark Story的"硬路"测试方法):
class UsersController extends AppController
{
var $name = 'Users';
var $helpers = array('Html', 'Form');
var $components = array('Auth');
function login()
{
}
function logout()
{
$this->redirect($this->Auth->logout());
}
function index()
{
$this->set('users', $this->paginate());
}
function view($id = null) …Run Code Online (Sandbox Code Playgroud) 我有一个LINQ查询,它在多个字段中搜索字符串(使用正则表达式).我想根据找到文本的字段对结果进行排序.
目前我有这个:
var results = from i in passwordData.Tables["PasswordValue"].AsEnumerable()
where r.IsMatch(i.Field<String>("Key").Replace(" ","")) ||
r.IsMatch(i.Field<String>("Username").Replace(" ","")) ||
r.IsMatch(i.Field<String>("Other").Replace(" ",""))
orderby i.Field<String>("Key"),
i.Field<String>("Other"),
i.Field<String>("Username")
select i;
Run Code Online (Sandbox Code Playgroud)
我希望在Key中找到匹配项,然后在Other中找到匹配项,然后在Username中找到匹配项.如果可能,匹配Key和Other的匹配应该在匹配Key之前匹配.
我现在的代码基于Key排序,所以如果在Other上找到匹配但是Key以A开头,它将在Key上找到匹配之前排序,其中Key以Z开头.
提前谢谢,我认为这不是一个难题,但我不知道如何做到这一点,因为我是LINQ的新手.
我被告知这样做:
config.gem 'tzinfo'
Run Code Online (Sandbox Code Playgroud)
不排除需要require 'tzinfo'.所有宝石都是如此吗?如果是的话,添加到底是config.gem WHATEVER做什么的?
Java转向开源许可证的当前状态是什么(维基百科列为GNU通用公共许可证/ Java社区流程)?
Java包含许多内容,包括:
我听过/读过各种各样的东西,但从来没有看到它以直接,明确的方式展示.但是,如果您只了解Java的一个小节,请不要犹豫,添加答案.
只是为了澄清,这个问题是关于流程的当前状态,而不是Sun未来可能做或不做的事情.
我很难从WCF客户端连接到第三方WSE 3.0 Web服务.我已经实现了这个知识库文章中指出的自定义绑定类:
http://msdn.microsoft.com/en-us/library/ms734745.aspx
该问题似乎与Web服务使用的安全断言有关 - UsernameOverTransport.
当我尝试调用方法时,我得到以下异常:
System.InvalidOperationException:'WseHttpBinding'.'[namespace]'绑定'MyWebServiceSoap'.'[namespace]'契约配置了一种需要传输级别完整性和机密性的身份验证模式.但运输不能提供完整性和保密性.
它需要用户名,密码和CN号.在供应商提供给我们的示例代码中,这些凭据捆绑在Microsoft.Web.Services3.Security.Tokens.UsernameToken中.以下是供应商提供的示例:
MyWebServiceWse proxy = new MyWebServiceWse();
UsernameToken token = new UsernameToken("Username", "password", PasswordOption.SendPlainText);
token.Id = "<supplied CN Number>";
proxy.SetClientCredential(token);
proxy.SetPolicy(new Policy(new UsernameOverTransportAssertion(), new RequireActionHeaderAssertion()));
MyObject mo = proxy.MyMethod();
Run Code Online (Sandbox Code Playgroud)
这适用于安装了WSE 3.0的2.0应用程序.以下是我的WCF客户端的代码片段:
EndpointAddress address = new EndpointAddress(new Uri("<web service uri here>"));
WseHttpBinding binding = new WseHttpBinding(); // This is the custom binding I created per the MS KB article
binding.SecurityAssertion = WseSecurityAssertion.UsernameOverTransport;
binding.EstablishSecurityContext = false;
// Not sure about the value of either …Run Code Online (Sandbox Code Playgroud) 我真正想要的是限制每人1票,但我能想到的下一个最好的事情就是每个IP地址限制1票,以防止恶意用户/黑客严厉地使用我公司的投票系统.我在考虑使用数据库来跟踪IP地址.
更新:对不起第一次aruond不清楚.如果限制每个IP地址1票,我想知道的是限制每人1票的好策略.基本上,我想知道1个唯一的IP地址是否大致等于1个人.人们已经提到代理和路由器重用ip地址,所以不幸的是,许多人可能使用相同的IP地址.
谢谢.我认为,对于我的情况,最好不要限制每个IP地址1票.
我有一个基本上看起来像这样的表:
id | redirectid | data
Run Code Online (Sandbox Code Playgroud)
其中,redirectid 是另一行的 id。基本上,如果选择了一行,并且它有一个重定向ID,那么应该在它的位置使用重定向ID 数据。可能有多个重定向,直到redirectid 为NULL。本质上,这些重定向形成表中的链接列表。我想知道的是,给定一个 id,是否可以设置一个 sql 查询来迭代所有可能的重定向并返回“列表”末尾的 id?
这是使用 Postgresql 8.3,如果可能的话,我想在 sql 查询中完成所有操作(而不是在我的代码中迭代)。
我有一个小问题,我无法弄清楚如何解决.我有一个XML(实际上是它的RSS)文件,我试图用PHP解析,但CDATA标签出来了.
除了描述标签不打印外,一切正常.如果有人能提供帮助,我将非常感激.
sql server连接字符串和express vesion之间有区别吗?!
我有一个项目打算使用一些PHP以及Java和Javascript,所以我使用Install New Software菜单选项安装了Eclipse的PDT PHP插件.现在Eclipse同意安装PDT,但是没有任何PHP功能,如创建或编辑PHP文件.我还需要做些什么来激活PDT吗?(我确实重启了Eclipse,就像我说的那样.)
php ×3
asp.net-3.5 ×1
c# ×1
cakephp ×1
eclipse ×1
eclipse-pdt ×1
iteration ×1
java ×1
jvm ×1
linq ×1
networking ×1
open-source ×1
postgresql ×1
rss ×1
simpletest ×1
sorting ×1
sql ×1
sql-server ×1
testing ×1
wcf ×1
web-services ×1
wse ×1
xml ×1