Soy nuevo para idear y rieles y acabo de inventar integrado con mi aplicación de ejemplo. Lo que he notado es después de crear un modelo de usuario , todas mis pruebas unitarias estaban fallando. Fui a tratar de reducir esto y encontré que incluso la aserción generada uno 'la verdad' para user_test.rb
también falla:índice añadiendo al correo electrónico culpable columna para pruebas de unidad en su defecto
ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: \
column email is not unique: INSERT INTO "users" (...
Una vez le comenté a cabo la add_index
...
# add_index :users, :email, :unique => true
... y vuelva a ejecutar rake db:test:load
y vuelva a ejecutar las pruebas con ruby -I test test/unit/user_test.rb
que pase.
Alguien más experiencia de esto?
HI Steve, este no es el caso con los datos del accesorio duplicados. Estoy usando fábricas (con la secuencia en el correo electrónico) pero para este modelo de Usuarios en particular, que se genera para Devise, solo estoy probando el caso de prueba "afirmar la verdad", que siempre debería ser cierto. no hay datos de accesorios ni nada. Limpié mi base de datos, me aseguré de actualizar schema.rb haciendo rake db: migrar y eliminar la base de datos de prueba y volver a hacer la prueba desde cero. Sospecho que hay algún error al agregar pruebas de índice y unidad, pero aún no me enteré de ese agujero de conejo. – glory
sql generado parece ser (w/values en instrucción de inserción) incorrecto: ActiveRecord :: RecordNotUnique: SQLite3 :: ConstraintException: la columna de correo electrónico no es única: INSE RT INTO "usuarios" ("created_at", "updated_at", "id ") VALORES ('2011-04-24 08:53:36', '2011-04-24 08:53:36', 298486374) – glory