Ruby on rails ruby rails单元测试中的POST请求
在Altair中,要执行类似登录的变异,我必须设置一个环境变量,如Ruby on rails ruby rails单元测试中的POST请求,ruby-on-rails,ruby,unit-testing,graphql,Ruby On Rails,Ruby,Unit Testing,Graphql,在Altair中,要执行类似登录的变异,我必须设置一个环境变量,如server\u url,并在POST请求中调用该变量,如下所示: 只有这样,变异才不会返回null并起作用。我想问一下,在Ruby的单元测试中,我将如何做到这一点。例如,这是我的测试文件: require 'test_helper' class Mutations::SignInUserTest < ActiveSupport::TestCase def perform(args = {}) M
server\u url
,并在POST请求中调用该变量,如下所示:
只有这样,变异才不会返回null并起作用。我想问一下,在Ruby的单元测试中,我将如何做到这一点。例如,这是我的测试文件:
require 'test_helper'
class Mutations::SignInUserTest < ActiveSupport::TestCase
def perform(args = {})
Mutations::SignInUser.new(object: nil, field: nil, context: {}).resolve(args)
end
test 'sign in' do
user = perform(
auth: {
user_id: "example",
password: "example"
}
)
assert user.persisted?
end
end
需要“测试助手”
类突变::SignInUserTest
它不起作用,因为
user
只返回null。我将把POST请求或我的服务器url
放在哪里?我已经看过一些帖子,在类中放置post“example url”
会导致未定义的方法“post”
错误。我不太了解这一点,希望能提供一些帮助。您需要继承ActionDispatch::IntegrationTest
而不是ActiveSupport::TestCase
。您可能应该从开始。我已经从阅读指南中尝试了继承ActionDispatch::IntegrationTest
,但它仍然没有将post
识别为一种方法,没有post
,它也无法工作。