我看到 jest 中有两个配置选项,用于在每次测试之前运行一些代码:setupFiles和setupFilesAfterEnv. 在我看来,这setupFilesAfterEnv提供了更多的灵活性(我可以使用jest,beforeEach等等......),所以我不明白在什么情况下setupFiles会更有用。有人可以提供一个您需要使用setupFiles而不是的示例setupFilesAfterEnv吗?
文档:https : //jestjs.io/docs/en/configuration#setupfiles-array
根据Rails 文档,该方法assert_emails允许转换语法:
assert_difference ->{ ActionMailer::Base.deliveries.size }, +1 do
post :method_that_should_send_email
end
Run Code Online (Sandbox Code Playgroud)
到
assert_emails 1 do
post :method_that_should_send_email
end
Run Code Online (Sandbox Code Playgroud)
我发现它好多了,因为我不必每次都复制粘贴长语法。
但是,在使用上述代码时,我的控制器测试中出现以下错误:
NoMethodError: undefined method `assert_emails'
我认为这是因为该方法仅在邮件程序测试中可用。
有没有办法让它也可用于控制器测试?默认情况下这不可用是否有充分的理由?有没有更好的方法来测试调用特定路由会导致发送电子邮件?
谢谢。
我有时会输入:
import something from "./something";
知道文件./something.js不存在。有没有办法告诉 VS Code 创建它?
目前,在React-Native中,根据文档,要构建用于生产的iOS应用程序,您需要:
ReleaseAppDelegate.m的加载正确的捆绑Info.pList的ATS这强烈违反了12因素配置建议,并导致在持续集成过程中出错.
RN没有提供开箱即用的策略来了解JS代码中的配置环境,导致包的存在react-native-config,这已经做得很好,但并不完美(Xcode不完全支持).
为什么会这样?是因为今天生产的RN应用实际上很少,没有人关心这个?我们能做得更好react-native-config,不需要上面列出的步骤吗?我想要一个命令行,以我可以运行的方式存档我的应用程序cd android && ./gradlew assembleRelease,而不更改我的配置.
编辑:
Fastlane通过其gym命令使部署变得更加容易(谢谢Daniel Basedow).显然,Xcode的理念是调用环境"方案",只有你不能在其中存储变量,或者知道你在代码中运行的是哪种方案......无论如何,David K. Hess找到了一个很好的方法来导出你的方案你的名字Info.plist,然后在你的Objective C代码中,这意味着我现在能够根据当前的方案选择我的包,而不是触摸我的代码.
这是我的代码:
NSString *schemeName = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"SchemeName"];
if ([schemeName isEqualToString:@"scheme1"]) {
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
} else if ([schemeName isEqualToString:@"scheme2"]) {
jsCodeLocation = [NSURL URLWithString:@"http://<my_local_ip_address>:8081/index.ios.bundle?platform=ios&dev=true"];
} else if ([schemeName isEqualToString:@"scheme3"]) {
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
} …
我在Jest中进行的测试似乎正在泄漏:
调试此类问题的建议步骤是什么?
我是这种问题的新手。如您所见,我尝试传递Jest中记录的选项(--forceExit --detectOpenHandles --runInBand --logHeapUsage),但这不能解决我的问题。
我使用MongoDB作为我的数据库和GraphQL。我正在为我的模型使用猫鼬。我意识到我的 GraphQL 查询很慢,因为重复加载相同的文档。我想使用DataLoader来解决我的问题,但我不知道如何。
假设我有以下模式,用朋友描述用户:
// mongoose schema
const userSchema = new Schema({
name: String,
friendIds: [String],
})
userSchema.methods.friends = function() {
return User.where("_id").in(this.friendIds)
}
const User = mongoose.model("User", userSchema)
// GraphQL schema
const graphqlSchema = `
type User {
id: ID!
name: String
friends: [User]
}
type Query {
users: [User]
}
`
// GraphQL resolver
const resolver = {
Query: {
users: () => User.find()
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的数据库中的一些示例数据:
[
{ …Run Code Online (Sandbox Code Playgroud)