Мы также можем создать PLYReader в качестве PCDReader, как показано ниже, чтобы прочитать файл PLY и все точки в нужное облако
#include<pcl/io/ply_io.h>
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ);
pcl::PLYReader Reader;
Reader.read("Path of the PLY file", *cloud);
Их рекомендация переводит в следующее:
setup do
@request.env['HTTP_REFERER'] = 'http://test.com/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }
end
setup do
@request.env['HTTP_REFERER'] = 'http://test.com/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }
end
В Rails 2.2.2 вышеуказанный блок никогда не выполнял фактический тест. Говоря, что
post: create, {: user => {: email => ' invalid @ abc '}}
строка не запускалась. Вы можете просто избавиться от блока настройки и использовать вместо него
@request.env['HTTP_REFERER'] = 'http://test.com/sessions/new'
post :create, { :user => { :email => 'invalid@abc' } }
. И он должен установить реферер
В ответ на вопрос:
Почему это не работает:
setup { post :create, { :user => { :email => 'invalid@abc' } },
{ 'referer' => '/sessions/new' } }
Это не работает, потому что документ по Rails, на который вы ссылались, документирует другой класс, чем тот, который вы, вероятно, используете.
Вы сослались на ActionController::Integration:Session
. Я предполагаю, что вы пишете функциональный тест (если вы используете Test::Unit) или тест контроллера (если вы используете Rspec). В любом случае, вы, вероятно, используете ActionController::TestCase
или его подкласс. Который, в свою очередь, включает модуль ActionController::TestProcess
.
ActionController::TestProcess
предоставляет get
метод с другими параметрами, чем get
метод, предоставляемый ActionController::Integration:Session
. (Раздражает, да?) Сигнатура метода выглядит так:
def get(action, parameters = nil, session = nil, flash = nil)
К сожалению, параметр headers отсутствует. Но, по крайней мере, установка @request.env['HTTP_REFERER']
работает.