我正在为我的项目编写一些测试,并且遇到一些问题。在测试中,我只是填写了一些字段,我想提交此表格。它可以在浏览器中工作,但是在测试中,我得到了CREATE OR REPLACE FUNCTION theScript(TEXT)
RETURNS VOID AS '
DECLARE
_table_name ALIAS FOR $1;
_sub_id integer;
_prop_id integer;
_ent_id integer;
_ent_sub_id integer;
BEGIN
FOR _ent_id IN EXECUTE ''SELECT id FROM schema.'' || _table_name LOOP
EXECUTE '' SELECT sub_id FROM schema.'' || _table_name || '' WHERE id = '' || _ent_id
INTO _ent_sub_id;
IF _ent_sub_id IS NULL THEN
EXECUTE '' SELECT sub_property_id FROM schema.'' || _table_name || ''_data WHERE '' || _table_name || ''_id = '' || _ent_id || '' LIMIT 1''
INTO _prop_id;
SELECT subdivision_id
from bms.subdivision_property
where id = _prop_id
INTO _sub_id;
EXECUTE '' UPDATE schema.'' || _table_name || '' SET sub_id = '' || (_sub_id) || '' WHERE id = '' || _ent_id;
RAISE NOTICE ''UPDATED FIELD ID: %'', _ent_id;
END IF;
END LOOP;
END;'
LANGUAGE plpgsql;
SELECT theScript('terminal');
。这是错误:
ActionController :: UnknownFormat:CompaniesController#update缺少此请求格式和变体的模板。
request.formats:[“ text / html”]
request.variant:[]
小测试:
formatError
我没有添加任何期望,因为它每次都会失败。
编辑:
是的,响应是js!它应该打开一个模式。
答案 0 :(得分:1)
要进行JS测试,您需要在场景中指定js: true
,并应配置一个Web驱动程序(例如selenium或poltergeist)以使用capybara执行js。
您的测试:
scenario 'update company with valid params', js: true do
visit company_account_information_path
fill_in 'company_name', with: "Mustername für Firma"
fill_in 'company_owner_name', with: "Mustermann"
click_button "Speichern"
end
阅读此文档以配置支持js Capybara drivers
的网络驱动程序