Tag: unit testing

我如何unit testing使用FormsAuthentication的ASP.NET MVC控制器?

我正在以一种testing驱动的方式处理ASP.NET MVC解决scheme,我想使用表单身份validation将用户login到我的应用程序。 我想在控制器中结束的代码看起来像这样: FormsAuthentication.SetAuthCookie(userName, false); 我的问题是如何编写一个testing来certificate这个代码? 有没有办法来检查SetAuthCookie方法调用正确的参数? 有什么方法注入假/模拟FormsAuthentication?

unit testing使用请求库的Python应用程序

我正在编写一个使用Kenneth Reitz的请求库来执行REST操作的应用程序,我正在努力寻找一种很好的方式来对这些应用程序进行unit testing,因为请求通过模块级别的方法提供了它的方法。 我想要的是综合双方对话的能力; 提供一系列请求断言和响应。

Xcode 4:从命令行(xcodebuild)运行testing?

我已经在Xcode 4中创build了一个全新的iOS项目,并且包含了unit testing。 默认应用程序有2个目标,主应用程序和unit testing包。 使用“Product> Test”(Command-U)构build应用程序,构buildunit testing包,启动iOS模拟器并运行testing。 现在我想能够从命令行做同样的事情。 命令行工具(xcodebuild)没有“testing”动作,但似乎我应该能够直接构buildunit testing包目标,因为它取决于应用程序本身。 但是,运行: xcodebuild -target TestAppTests -sdk iphonesimulator4.3 -configuration Debug build 给出以下消息: /Developer/Platforms/iPhoneSimulator.platform/Developer/Tools/Tools/RunPlatformUnitTests:95: warning: Skipping tests; the iPhoneSimulator platform does not currently support application-hosted tests (TEST_HOST set). 这似乎是一个谎言,因为testing主机是设置为我的unit testing捆绑目标时,我从GUI运行Command-U。 我已经看到以前的post关于逻辑testing和应用程序testing之间的分离,但似乎Xcode 4消除了这种区别。 任何线索我怎么能从命令行运行我的testing?

使用MongoDB进行unit testing

我select的数据库是MongoDB。 我正在编写一个数据层API来从客户端应用程序中抽象实现细节 – 也就是说,我基本上提供了一个单独的公共接口(一个充当IDL的对象)。 我正在testing我的逻辑,因为我以TDD方式进行testing。 在每个unit testing之前,调用@Before方法来创build数据库单例,在此之后,当testing完成时,将调用@After方法来删除数据库。 这有助于提高unit testing的独立性。 几乎所有的unit testing,即执行上下文查询 ,都需要某种插入逻辑才能发生。 我的公共接口提供了一个插入方法 – 但是,使用这种方法作为每个unit testing的前驱逻辑似乎是不正确的。 真的,我需要一些嘲弄的机制,但是我还没有太多的嘲讽框架的经验,似乎Google没有返回一个可以用于MongoDB的嘲笑框架。 别人在这些情况下做什么? 也就是说,人们如何testing与数据库交互的代码呢? 此外,我的公共接口连接到一个外部configuration文件中定义的数据库 – 这似乎是不正确的使用这个连接,我的unit testing – 再次,这种情况,将受益于某种嘲笑?

如何编写django视图的unit testing?

我有问题了解unit testing应该如何为djangodevise。 从我的理解来看,一次性testing整个视图似乎是不可能的。 我们需要区分请求的前后状态。 但我不知道如何devise这个。 有没有真实的生活的例子? 看看这些文档,这些例子太简单了,只关注模型。 @login_required def call_view(request, contact_id): profile = request.user.get_profile() if request.POST: form = CallsForm(profile.company, request.POST) if form.is_valid() return HttpResponseRedirect('/contact/' + contact_id + '/calls/') else: form = CallsForm(profile.company, instance=call) variables = RequestContext(request, {'form':form} return render_to_response('conversation.html', variables) 更新: 试图做出成功的testing工作,但仍然失败: def test_contact_view_success(self): # same again, but with valid data, then self.client.login(username='username1', password='password1') response […]

全球`之前`和`beforeEach`为摩卡?

我现在正在使用摩卡进行javascriptunit testing。 我有几个testing文件,每个文件都有一个before和beforeEach ,但是它们是完全一样的。 我如何before所有人(或其中的一些人) before和before提供一个全球性的?

如何在没有setup.py的项目中运行tox?

我想用tox来运行我的unittests两个virtualenvs,因为我的应用程序必须支持2个不同的Python版本。 我的问题是tox需要一个setup.py ,但我没有,因为我的应用程序不是一个模块,并有自己的安装程序。 现在我不想为了使用setup.py而自动执行安装过程,我只想运行我的unit testing,而不必编写setup.py 。 那可能吗? 或者,我怎么能写一个“空”setup.py,什么都不做? 你能指出我对这个主题的一些文档( distutils文档解释了如何写一个有意义的setup.py ,而不是一个空的)?

如何在ASP.NET Web Api中testingAction Filter?

我正在寻找添加一个Action Filter到我的服务来处理添加链接数据到响应消息。 我发现我需要模拟HttpActionExecutedContext,但这是一个困难的类来模拟,你如何处理动作filtertesting?

如何在django中嘲笑用户和请求

我有与请求对象或用户对象交互的Django代码。 比如像这样的东西: foo_model_instance = models.get_or_create_foo_from_user(request.user) 如果你打算用django python shell或unit testing来testing,你会在那里通过什么? 这里只需要一个User对象,但是对于一个模拟请求对象的需求也经常出现。 对于shell或unittests: 你如何嘲笑用户? 你如何嘲笑请求?

为什么代码质量不受欢迎?

我喜欢我的代码是正确的,即正确格式化,可读,devise,testing,检查错误等。事实上,我很狂热。 ( 也许甚至比狂热…… )但根据我的经验,帮助代码质量的行为很难实现。 (代码质量指的是你每天生产的代码的质量,整个软件质量和开发过程等主题都要广泛得多,而不是这个问题的范围)。 代码质量似乎不受欢迎。 我的经验包括一些例子 可能每个Java开发人员都知道JUnit,几乎所有的语言都实现了xUnit框架,但是在我所知道的所有公司中,只有很less的适当的unit testing存在(如果有的话)。 我知道,由于技术上的限制或者按期限来编写unit testing并不总是可能的,但是在我看到的情况下,unit testing就是一个select。 如果开发者想为他/她的新代码编写一些testing,他/她可以这样做。 我的结论是,开发人员不想写testing。 静态代码分析通常在小型项目中进行,但并不真正用于执行编码约定或在企业项目中发现可能的错误。 通常甚至像潜在的空指针访问这样的编译器警告被忽略。 会议演讲者和杂志会谈论很多关于EJB3.1,OSGI,云和其他新技术,但几乎不涉及新的testing技术或工具,新的静态代码分析方法(如SAT求解),有助于保持更高质量的开发过程,遗留代码的一些讨厌的野兽被带到了testing中……(我没有参加很多会议,对于敏捷主题的会议可能看起来不同,因为unit testing和CI等都有很高的价值)。 那么为什么代码质量如此不受欢迎/被认为无聊? 编辑: 感谢您的回答。 他们中的大多数都涉及unit testing(并在相关问题中进行了讨论)。 但是还有很多其他的东西可以用来保持代码质量(见相关的问题 )。 即使你不能使用unit testing,也可以使用每日构build,向IDE或开发过程添加一些静态代码分析,尝试配对编程或强制执行关键代码的评论。