Tag: unit testing

如何unit testing你的API?

我现在需要为使用CakePHP 1.3编写的REST API编写unit testing。 API支持查询和操作数据的GET,POST和PUT请求。 有没有build立的方法来testing模拟HTTP请求的API的正确input/输出,使用灯具 ? 我不想运行实际(开发)数据库实际POST / PUT请求。 我怎样才能最好地嘲笑系统使用临时模型,但现在testing堆栈的其余部分? 通过控制器testing来testingGET请求是很容易的。 但是,对于数据操作,API使用的HTTP头相当广泛,并且还parsing原始的XML和JSON POST / PUT数据。 控制器unit testing方法只是通过在控制器中设置$this->data来模拟POST数据,这不允许我正确地testingAPI。

从JUnittesting用例中找不到资源文件

概要 我的JUnittesting没有在执行过程中find他们需要的文件。 我正在使用Maven进行依赖pipe理和编译。 细节 testing用例所需的所有文件位于: src/test/resources 。 例如, src/test/resources/resourceFile.txt 。 要访问资源我使用下面的代码: URL url = getClass().getResource("/resourceFile.txt").getFile(); File file = new File(url); 但是,然后file.exists()返回false 。 而我得到的错误是: Tests in error: myJUnitTestCase(tests.MyJUnitTestClass): /home/me/workspace/Project%20Name/target/test-classes/resourceFile.txt (No such file or directory) 请注意,以下给出了相同的错误(注意删除/前缀): URL url = getClass().getClassLoader().getResource("resourceFile.txt").getFile(); File file = new File(url); 似乎来自src/test/resources的文件没有被复制到target/test-classes 。 有任何想法吗? 以下问题没有帮助 为什么我无法在Maven中使用Junittesting来访问src / test / resources? 在JUnit @BeforeClass中加载属性文件 如何处理Junit中的testing数据? […]

在unit testing环境中重新定义Spring bean

我们使用Spring来实现我的应用程序,并且使用Spring Testing框架进行unit testing。 我们有一个小问题:应用程序代码从类path中的位置列表(xml文件)加载Spring应用程序上下文。 但是当我们运行我们的unit testing时,我们希望一些Spring bean是嘲讽而不是完整的实现类。 此外,对于某些unit testing,我们希望某些bean成为嘲讽,而对于其他unit testing,我们希望其他bean成为嘲笑,因为我们正在testing应用程序的不同层。 所有这一切意味着我想重新定义应用程序上下文的特定的豆,并在需要时刷新上下文。 在这样做的时候,我想重新定义位于一个(或几个)原始的xml bean定义文件中的一小部分bean。 我找不到一个简单的方法来做到这一点。 人们一直认为Spring是一个unit testing友好的框架,所以我必须在这里丢失一些东西。 你有什么想法如何做到这一点? 谢谢。

如何编写数据库调用的unit testing

我接近一个新项目的开始,并且第一次尝试将unit testing包括在我的一个项目中(gasp!)。 我在devise一些unit testing时遇到了麻烦。 我有几个方法已经很容易testing(传入两个值,并检查预期的输出)。 我有其他部分的代码正在做更复杂的事情,如针对数据库运行查询,我不知道如何testing它们。 public DataTable ExecuteQuery(SqlConnection ActiveConnection, string Query, SqlParameterCollection Parameters) { DataTable resultSet = new DataTable(); SqlCommand queryCommand = new SqlCommand(); try { queryCommand.Connection = ActiveConnection; queryCommand.CommandText = Query; if (Parameters != null) { foreach (SqlParameter param in Parameters) { queryCommand.Parameters.Add(param); } } SqlDataAdapter queryDA = new SqlDataAdapter(queryCommand); queryDA.Fill(resultSet); } catch […]

如何从“python setup.py test”运行unittest发现?

我想弄清楚如何让python setup.py test运行相当于python -m unittest discover 。 我不想使用run_tests.py脚本,我不想使用任何外部testing工具(如nose或py.test )。 如果解决scheme只适用于python 2.7,那就没问题了。 在setup.py ,我想我需要添加一些东西到test_suite和/或test_loader字段在configuration中,但我似乎无法find一个工作正常的组合: config = { 'name': name, 'version': version, 'url': url, 'test_suite': '???', 'test_loader': '???', } 这可能只使用unit testing内置到Python 2.7? 仅供参考,我的项目结构如下所示: project/ package/ __init__.py module.py tests/ __init__.py test_module.py run_tests.py <- I want to delete this setup.py 更新 :这是可能的unittest2但我想find一些相当于使用unittest东西 从https://pypi.python.org/pypi/unittest2 unittest2包含一个非常基本的setuptools兼容testing收集器。 在setup.py中指定test_suite ='unittest2.collector'。 这将使用包含setup.py的目录中的默认参数开始testing发现,因此它可能是最有用的一个示例(请参阅unittest2 / collector.py)。 […]

如何让selenium等待Ajax响应?

我如何让selenium等待像日历小部件加载? 现在我只是在将testing用例导出到junit程序之后执行Thread.sleep(2500) 。

在Moq Callback()调用中设置variables值

我想我可能对Moqcallback方法的语法有些困惑。 当我尝试做这样的事情: IFilter filter = new Filter(); List<IFoo> objects = new List<IFoo> { new Foo(), new Foo() }; IQueryable myFilteredFoos = null; mockObject.Setup(m => m.GetByFilter(It.IsAny<IFilter>())) .Callback( (IFilter filter) => myFilteredFoos = filter.FilterCollection(objects)) .Returns(myFilteredFoos.Cast<IFooBar>()); 这将抛出exception,因为在调用Cast<IFooBar>()期间myFilteredFoos为null。 这是不是像我所期望的那样工作? 我会认为FilterCollection将被调用,然后myFilteredFoos将是非空的,并允许投。 FilterCollection不能够返回一个null,这引出了我没有被调用的结论。 另外,当我声明myFilteredFoos是这样的: Queryable myFilteredFoos; 返callback用声明myFilteredFoos可能在初始化之前使用。

如何在Visual Studio 2012中剖析unit testing?

是否可以在Visual Studio 2012 Ultimate中 configuration MSTestunit testing而不使用任何外部分析工具?

如何打印到Py Test控制台?

我试图用pytest模块来使用testing驱动开发。 当我写print时pytest将不会print到控制台。 我使用py.test my_tests.py来运行它… 该documentation似乎说,它应该默认工作: http : //pytest.org/latest/capture.html 但: import myapplication as tum class TestBlogger: @classmethod def setup_class(self): self.user = "alice" self.b = tum.Blogger(self.user) print "This should be printed, but it won't be!" def test_inherit(self): assert issubclass(tum.Blogger, tum.Site) links = self.b.get_links(posts) print len(links) # This won't print either. 没有什么打印到我的标准输出控制台(只是正常的进展和多less次testing通过/失败)。 而我正在testing的脚本包含print: class Blogger(Site): get_links(self, posts): print […]

什么时候在C#unit testing中使用模拟与伪装?

任何人都可以拿出指导方针,build议select嘲笑还是伪造的理想场景,即手动设置要领? 我对如何处理这种情况感到困惑。