Recomiendo usar File.exists? y borrar el archivo css al iniciar el test y luego testear que el archivo se ha creado. Ahora mismo la especificación del test es poco clara. ¿Por qué íbamos a tener un archivo de sprites con tamaño cero? Si ejecutas este test dos veces va a fallar (si no tuviese el error que describo a continuación) porque el contenido será el mismo.

Estás comparando descriptores de archivos, no contenidos de archivos. Cada vez que creas un objeto en Ruby se le asigna una dirección de memoria diferente de forma que da igual el contenido de los archivos el assert_not_equal siempre va a pasar.

http://www.ruby-doc.org/core-2.0/File.html#method-c-open