ios - Calabash - 如何比较标签中给定 ID 的文本?

标签 ios ruby bdd calabash calabash-ios

我想断言 Calabash 对具有给定 ID 的标签的查询结果。但是 Calabash 中似乎不存在“断言”方法。我测试了一个 iOS 应用程序。

我的代码:

Then(/^arrival date has been changed to day after departure date$/) do
    departure_date_day = query("label marked:'departure_date_day'", :text).first
    arrival_date_day = query("label marked:'arrival_date_day'", :text ()).first
    # assert arrival_date_day.to_i == departure_date_day.to_i + 1
end

如何做到这一点?

问候,

迈克尔

最佳答案

这些方法存在于基本 Ruby 堆栈中,而不是 Calabash 中。您可以在此处找到 Ruby 的断言方法: http://ruby-doc.org/stdlib-2.0/libdoc/minitest/rdoc/MiniTest/Assertions.html

更多信息在这里: https://github.com/seattlerb/minitest

我个人更喜欢 Ruby 的“should”语法,而不是使用断言。首先安装这个 gem:

gem install rspec-expectations

然后在 features/support/env.rb 中:

require 'rspec/expectations'

最后,你可以这样断言:

departure_date_day.should eq query("label marked:'departure_date_day'", :text).first

Should已被弃用,取而代之的是expect()。我仍然更喜欢应该...更多信息在这里:http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/

关于ios - Calabash - 如何比较标签中给定 ID 的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29032368/

相关文章:

除非打开 Quicktime,否则 AVCaptureDevice.devices() 不会列出 iOS 设备

ios - 调整 UITabBar 图像的大小?

ruby - 从堆栈中提取有关方法接收器的信息

Ruby:将方法合并为 1 行

ios - TableView 单元格在单个表中按列或按行显示列表

ios - 轻量级迁移时我的应用程序崩溃

ruby-on-rails - 为 rails 中的 javascript 生成完整的 url(类似于 javascript_path,但是是 url)

ruby - GIVEN 和 THEN 中的定义相同......有什么方法可以编写单个方法吗?

tdd - 回归测试是什么意思?

java-8 - 始终使用Cucumber-Java8获取异常 "Wrong type at constant pool index"