小编Stu*_*att的帖子

在Jest和React Native中模拟平台检测

我试图测试的一些代码检测平台,例如:

import { Platform } from 'react-native';
...

if (Platform.OS === 'android') {
  ...
} else {
  ...
}
Run Code Online (Sandbox Code Playgroud)

有没有一种合理的方法可以用Jest和/或其他东西来模拟这个,所以我可以在一次测试中测试两个分支?

或者是将它解耦并将平台放入例如上下文变量的智能方法?虽然总是感觉重组代码使其更容易测试是一种欺骗.

jestjs react-native

19
推荐指数
8
解决办法
8498
查看次数

在Grails中,有一种使用Joda时间模拟当前时间的好方法吗?

我正在编写一些代码来执行与当前时间相关的日期和时间计算.在Joda时间,这是通过(Java)构造函数访问的,因为它是一个不可变对象.我需要能够模拟,以便new DateTime()返回一个特定的常量瞬间,这样我就可以做出明智的测试断言,但只留下所有其他DateTime方法.

这证明是令人讨厌的.Grails mockFor(DateTime, true)不会让我模拟Java构造函数,但是没有明显或可读的非构造方法来获取Joda时间.

唯一可用的选项似乎涉及低级JVM技术,如JMockit或EasyMock 3类模拟,这是Grails的痛苦.有没有简单/直接的方法来实现这一目标?

time grails groovy mocking jodatime

8
推荐指数
2
解决办法
1677
查看次数

Paypal快速结账的结账屏幕不一致

我们正在开发一个使用Paypal Express Checkout的应用程序,我们发现我们有两个不同的登陆页面.我们实际上发现了一个表面上看似问题的问题,您是否可以强制PayPal Payments Standard API首先显示信用卡字段?,但有一些差异:

  1. 沙盒的一切都很好,我们得到了我们想要的外观(信用卡优先).

  2. 在现场网站上,大约50%的时间我们得到了我们想要的外观(信用卡优先).

  3. 有时,我们会获得一个更"类似移动设备"的目标网页,信用卡内容完全隐藏在"以客人结账"按钮中,如图所示.

这感觉就像是对我失败的A/B测试.我们正在准确地发送上面链接的问题中的变量,正如我所说,所有这些变量都适用于较旧的目标网页.我知道还有cookie问题,但在这种情况下,即使Paypal无法识别帐户以及何时清除cookie,我们也会看到它.

有人知道我们能做些什么来解决这个问题吗?

我可以根据需要添加代码,但问题似乎是数据而不是逻辑.

新的登陆页面

paypal

7
推荐指数
2
解决办法
3201
查看次数

STDIN和tty有什么区别?

TT似乎是我是否读取相同的STDIN/dev/tty,

那有什么区别呢?

unix perl

4
推荐指数
1
解决办法
1963
查看次数

标签 统计

grails ×1

groovy ×1

jestjs ×1

jodatime ×1

mocking ×1

paypal ×1

perl ×1

react-native ×1

time ×1

unix ×1