我是斯卡拉诺布。
我目前尝试使用specs2为基于Play(Scala)的web应用程序创建功能测试。示例本身很简单,即:
class SignInSpec extends PlaySpecification {
// bring the workflow steps in scope and instrument browser with them
import utils.WorkflowSteps.AuthSteps
"An activated user".should {
"be able to sign in to the admin console" in new WithDbData(webDriver = WebDriverFactory(FIREFOX)) {
// this should be: browser.signIn(testData.manager)
// with the manager already persisted in the database
browser.signIn(Manager(None, "me@home.com", "12341234", "John", "Doe", List("admin")))
}
}
}
我想实现的是为每个示例提供一组定义的测试数据,其中一些数据已经保留在数据库中。因此,我需要围绕每个示例进行设置和拆卸方法,以准备TestData
用例类,用适当的数据填充它并保留其中的一些数据,以便该示例可以从定义的数据库状态开始。最终,我想要一个插件机制,其中插件为一组示例定义了测试数据(将其视为贷款模式的应用)。
到目前为止我所做的:
Around
的味道,但我不知道如何将数据输入到示例中,因为我必须添加一个额外的返回值。DelayedInit
从构造函数转换为函数调用参数的块添加隐式参数任何想法如何着手实现以下目标?
TestData
NevBrowser
一种解决办法可以是:
case class TestData(manager: Manager) extends WithDbData(webDriver = WebDriverFactory(FIREFOX))
class SignInSpec extends PlaySpecification with ForEach[TestData] {
// bring the workflow steps in scope and instrument browser with them
import utils.WorkflowSteps.AuthSteps
"An activated user".should {
"be able to sign in to the admin console" in { data: TestData =>
import data._
browser.signIn(manager)
}
}
def foreach[R : AsResult](f: TestData => R): Result = ???
}
这是以<code>导入数据为代价的_,但这也避免了以前解决方案的双重嵌套。
一种方法是使用所谓的“贷款固定装置”:
def withTestData(test: TestData => Unit) = {
val data = setupTestData()
try {
test(data)
} finally {
destroyTestData(data)
}
}
"An activated user" should "be able to sign in to the admin console" in withTestData { data =>
new WithDbData(webDriver = WebDriverFactory(FIREFOX)) {
browser.signIn(data.manager)
}
}
等等..
根据以下链接:https://stackoverflow.com/a/20056622/1623597 https://stackoverflow.com/a/15640575/1623597TestNG不会在每个方法测试中创建新实例。 我有spring boot应用程序。我需要编写集成测试(控制器、服务、存储库)。有时为了创建新的测试用例,我需要数据库中的一些实体。为了忘记数据库中任何预定义的实
我的要求如下: > 我有几个.feature文件。我想创建所有这些特性文件通用的测试数据。一旦创建了测试数据,场景将从特性文件运行。 我还想要一些信息后,测试数据创建回来。例如,我创建的数据的ID。所以我可以使用这些信息来调用API,在我的场景中添加有效负载。 null 现在我已经在test-data-details.feature文件中拥有了测试数据对象。在包含测试场景的特性文件的后台部分,我将
主要内容:功能测试的目标功能测试是软件测试的一个分支,旨在验证软件应用程序的功能,而不管功能是否根据需求规范运行。通过给出适当的输入值,确定输出并使用预期输出验证实际输出来测试每个功能。 功能测试包括通过GUI(图形用户界面),API(应用程序接口),安全性,数据库,客户端应用程序,服务器应用程序和应用程序功能进行测试。黑盒测试方法用于功能测试,其中测试内部逻辑的工作而不窥视内部代码。 功能测试的目标 功能测试的目标是检
功能测试从用户的角度验证场景。它类似于验收测试。 但是它不是通过 HTTP 进行通信,而是填充环境,如(填充)POST 和 GET 参数, 然后直接在代码里执行 Application 实例。 功能测试通常比验收测试快,并且在失败时提供详细的堆栈跟踪。 根据老司机的经验,功能测试应该是首选的,除非有专门的 Web 服务器设置 或者由 JavaScript 构建的复杂 UI。 功能测试是借助于具有良
我试图将测试用例导入到JIRA与Zephar Testcase导入器:我按照Zephar网站上的教程,这是我在日志中得到的消息: 2015年10月26日星期一16:23:58 CETfile:///Users/Sam/Downloads/AOTCDM10-地理标记。xlsx规范化成功。。!2015年10月26日星期一16:23:58 CET AOTCMD 10-地理标记。xlsx导入成功。。! 但
主要内容:为什么进行非功能性测试,在非功能测试下测试的参数,非功能测试的优点,非功能测试的缺点非功能测试是一种软件测试,用于测试非功能性参数,例如:软件的可靠性,负载测试,性能和责任。非功能测试的主要目的是根据非功能参数测试软件系统的读取速度。在功能测试之前,从未测试过非功能测试的参数。 非功能性测试作为功能测试也非常重要,因为它在客户满意度中起着至关重要的作用。 例如,非功能性测试将测试有多少人可以同时在任何软件上工作。 为什么进行非功能性测试 功能和非功能测试对于新开发的软件都是强制性