Unit testing 如何针对特定的用户类型测试CakePHP应用程序?

Unit testing 如何针对特定的用户类型测试CakePHP应用程序?,unit-testing,cakephp,Unit Testing,Cakephp,我正在用CakePHP进行单元测试。我想测试我的两个控制器。我的应用程序有不同类型的用户。我想测试应用程序返回的结果,具体取决于登录的用户类型。但是,我不知道如何从controller测试用例登录到应用程序。我尝试了两种方法都没有成功。1) 我尝试使用用户控制器登录,然后运行测试用例,2)尝试将web测试用例与控制器单元测试分组 任何帮助都将非常感激 谢谢。尝试测试控制器。不是真的在测试单元,是吗?根据定义a。为你的应用程序创建如此广泛的大型测试似乎是一个坏主意,因为如果没有失败的测试,应用程序

我正在用CakePHP进行单元测试。我想测试我的两个控制器。我的应用程序有不同类型的用户。我想测试应用程序返回的结果,具体取决于登录的用户类型。但是,我不知道如何从controller测试用例登录到应用程序。我尝试了两种方法都没有成功。1) 我尝试使用用户控制器登录,然后运行测试用例,2)尝试将web测试用例与控制器单元测试分组

任何帮助都将非常感激


谢谢。

尝试测试控制器。不是真的在测试单元,是吗?根据定义a。为你的应用程序创建如此广泛的大型测试似乎是一个坏主意,因为如果没有失败的测试,应用程序就无法增长。我认为你应该把这个问题分成几个小部分。换句话说,确保用户被识别为正确的类型,并且给定该类型,他们无法访问不应该访问的特定信息。

谢谢您的回复。我想知道您是否可以解释为什么我尝试做的不是单元测试。我想在控制器中测试一种方法。但是,此方法返回的内容取决于登录的用户类型。这似乎就是你的建议:测试用户不能访问他们不应该访问的信息。无论如何,再次感谢您的回复。控制器方法(即操作)实际上不会返回任何内容,也不会返回任何编码意义上的内容。它接受输入,进行任意数量的验证和检查,然后对一个或多个模型发出任意数量的请求,然后将数据传递给视图。至少对我来说,从整体上测试这一点是没有意义的。问题是,根据上面的评论,您无法测试任何业务逻辑,除非它在模型中。我希望控制器也有非输出可测试的方法。欢迎对此发表意见。