Document AssertJ interoperability with Spock 2.4 and Groovy
@scordio ya está trabajando en esto.
Desde el 1/3/2024.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Describe the bug
The feature from assertj/assertj#2520 seems to be incompatible with using the StringAssertfrom assertj-core in a Groovy and Spock setup.
The then block in a spock test feature wraps any assertion code line with an groovy powerassert assert under the hood expecting the actual assertion expression to be evaluated as a boolean value. In Groovy there is the org.codehaus.groovy.runtime.DefaultGroovyMethods#asBoolean(java.lang.Object) method that Spock is calling. Due to the changes made to the AbstractStringAssert class this method is inaccessible and returns a BooleanAssert instead.
- assertj core version: 3.25.3
- java version: 17
- groovy version: 4.0.18
- test framework version: Spock 2.3-groovy-4.0
- os (if relevant):
Test case reproducing the bug
Add a test case showing the bug that we can run
import spock.lang.Specification
import static org.assertj.core.api.Assertions.assertThat
class DemoSpec extends Specification {
def 'assert some integer'() {
when:
def someInteger = 10
then:
assertThat(someInteger).isEqualTo(10)
}
def 'assert some string'() {
when:
def someString = 'some string'
then:
assertThat(someString).isEqualTo('some string')
}
}
- Lenguaje dominante
- CSS
- Estrellas
- 26
- Forks
- 32
- Merge medio
- 1 h 7 min
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de assertj/doc
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 2/5 Medio día Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Add custom exception assertionsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100