TemporaryFolder
gibi JUnit kurallarını veya şirket içinde zaten geliştirdiğimiz TestRule
gibi JUnit kurallarını kullanmak isterim. Bunu gerçekleştirmenin en iyi yolu nedir? Ben JUnitSuite farkındayım ama @Rule
ek açıklama almak için görünmüyor. Yine de farklı bir ScalaTest paketi kullanmak istiyorum.ScalaTest ile JUnit @Rule kullanma (ör. TemporaryFolder)
Yani benim sorular şunlardır:
- JUnit kurallar ScalaTest takım tarafından desteklenir mi?
- Değilse,n numaralı telefonu kullanarak bir kütüphane var mı?
- Değilse, JUnit
TestRule
s Scala testlerinde nasıl kullanılır? Ya daTemporaryFolder
'un ya da örneğin, Stefan Birkner'ın System Rules'un ne sağladığını anlamak için daha uygun bir Scala'ya özgü yaklaşım var mıdır?
İşte JUnitSuite
ile çalıştı budur:
class MyTest extends JUnitSuite {
//@Rule
//val temporaryFolder = new TemporaryFolder() // throws java.lang.Exception: The @Rule 'temporaryFolder' must be public.
@Rule
def temporaryFolder = new TemporaryFolder()
@Test
def test: Unit = {
assert(temporaryFolder.newFile() !== null) // java.lang.IllegalStateException: the temporary folder has not yet been created
}
}
Ah, teşekkürler, için uygulanacaktır. Birden çok 'TemporaryFolder' örneğinin oluşturulmamış kopyası. Sonunda, JUnitSuite ile kilitlenmemesi için istiflenebilir karışıma çözümüyle gittik. Ama neyse, bil ki '@ Rule'' scalatest’te desteklenebilir. – Mifeet
Yardım edebildiğime sevindim :-) –