我看过fabric8文档,它说fabric8已经被弃用。
我想知道是否建议使用这个 API 或者使用官方Kubernetes 客户端更好我开始使用 Fabric8,但现在我想知道是否必须切换到官方 API
大家好,我正在做一个模拟测试,我的类扩展了 GroovyTestCase,我正在尝试在 void setUp 方法中设置一个属性,如您所见:
void setUp()
{
def slurper = new JsonSlurper()
inData = slurper.parse( new File( "src/test/resources/fixtures/v1/watch/20160511_watch_listings_live_in.json" ), 'UTF-8' )
outData = slurper.parse( new File( "src/test/resources/fixtures/v1/watch/20160511_watch_listings_live_out.json" ), 'UTF-8' )
watchPresenter = BinderTestUtils.instanceForLibraryNamed( "dang_v1_watch_presenter" )
watchPresenter.localTranslate = new LocalTranslateHelperTest( )
//def info = [ mapper: mapperMock]
//watchPresenter:[localTranslate:new LocalTranslateHelperTest( )]
println("watchPresenterTranslate:" + watchPresenter.localTranslate.getStrings("en"))
}
Run Code Online (Sandbox Code Playgroud)
但我收到下一个错误:
无法为 WatchListingPresenterTests 类设置只读属性:localTranslate。
您知道在这种情况下是否可以设置只读属性吗?
在真正的课堂上,我使用 localTranslate 脚本,就像这样:
def strings = this.localTranslate.getStrings( params["lang"] )
Run Code Online (Sandbox Code Playgroud)
我需要模拟此属性,但出现此错误。
提前致谢。
我正在使用一个抽象类和两个具体类,它们实现了抽象类。示意图如下:

我的课程看起来像:
abstract class NavItem() {
var attributes: String = ""
var text = ""
}
class NavMenu(val items: MutableList<NavItem>) : NavItem()
class NavLink(var shortText: String) : NavItem()
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试处理可能是 NavMenu 或 NavLinks 的项目时,NavMenus 有一个 NavLinks 的集合。
我正在尝试使用多态作为下一个代码来处理这些项目:
navMenu.items.forEach{ item ->
buildNavItem(item)
}
Run Code Online (Sandbox Code Playgroud)
buildNavItem 方法似乎是:
private fun buildNavItem(navMenu: NavMenu){
navMenu.items
navMenu.attributes
navMenu.items
}
private fun buildNavItem(navItem: NavItem){
navItem.text
navItem.attributes
}
private fun buildNavItem(navLink: NavLink){
navLink.text
navLink.attributes
}
Run Code Online (Sandbox Code Playgroud)
但是代码总是进入 buildNavItem(navItem: NavItem),即使在 for each 中我有时可以看到该项目是 NavLink,或者是 NavMenu。
有什么建议吗?
谢谢!!
我正在从另一台服务器的方法中获取映射,并且我有一些空值,我想删除那些空值,因为在以下过程中我在努力处理这些值:
我已经完成了下一个代码,但是没有令人满意的结果:
map.values().removeAll(Collections.singleton(null))
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
groovy ×2
fabric8 ×1
java ×1
kotlin ×1
maps ×1
mocking ×1
null ×1
polymorphism ×1
remove-if ×1
unit-testing ×1