2016-05-10 72 views
0

我有a library其中我在src/测试/scala中创建了a very useful class。我该如何着手让这个类可供用户使用,以便他们可以在他们的测试中使用这个类?在测试中部署代码

如果我将此测试类迁移到src/main/scala并进行部署,那么我的库需要将测试框架作为依赖项。

如果我在测试中部署工件,那么我的库的测试也将被打包,这是愚蠢的,因为使用我的库的人不需要访问库测试。

+0

我不知道我的理解它是什么,你会发现有关这个类的特别“有用”,并且,特别是,关于它使用的scalatest'Futures' ......能够调用'f.futureValue'而不是'Await.result(f)'不能这样吗,可以吗? – Dima

+0

'Await.result'与ScalaTest'futureValue'是异步的。有用性在于我不需要重新定义“PatienceConfig”。 –

+0

异步?你是什​​么意思?在我的书中,要“异步”,需要返回一个“未来”......但你已经拥有了“未来”。显然,你必须在这个术语中有一些不同的含义。 – Dima

回答

2

刚刚摆脱上scalatest的依赖,你并不需要的东西:

trait VeryUsefulTrait { 

    implicit class RichExpect[T](expect: Expect[T]) { 
     val timeout = expect.settings.timeout + 1.second 
     def failedFutureValue: Throwable = Await.result(expect.run().failed, timeout) 
     def futureValue: T = Await.result(expect.run(), timeout) 
     def whenReady[U](f: T => U): U = f(Await.result(expect.run(), timeout)) 
    }