第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Scala 的單元測試中利用來自不同類的變量?

如何在 Scala 的單元測試中利用來自不同類的變量?

幕布斯7119047 2022-07-14 16:20:17
我想numberOwned在 Scala 的測試文件中使用來自不同類的變量。我怎么做?這是我嘗試的。測試設(shè)備.scala:package testsimport clicker.equipment._import org.scalatest._class TestEquipment extends FunSuite {    numberOwned = 0        test("first test"){    }}設(shè)備.scalapackage clicker.equipmentabstract class Equipment{var numberOwned = 0var name: String = ""def goldPerSecond(): Double}文件目錄src |_clicker |     |_ equipment |           |_Equipment.scala |_ tests      |_ TestEquipment.scala
查看完整描述

2 回答

?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個贊

由于您的抽象類沒有任何狀態(tài),您可以將其轉(zhuǎn)換為 Trait(接口),在 Scala 中,您可以使用如下方法定義接口


trait Equipment{


  var numberOwned = 0

  var name: String = ""


  def goldPerSecond(): Double = {

      numberOwned

  }

}


 class TestEquipment extends FunSuite with Equipment {

    this.numberOwned = 0

        test("first test"){

    }

}

您可以使用 FunSuite 擴(kuò)展您的 TestEquipment 并實(shí)現(xiàn)接口 Equipment。


如評論中所述,您不能同時從 FunSuite 和 BaseClass 繼承。


查看完整回答
反對 回復(fù) 2022-07-14
?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個贊

它不取決于它是否在測試中:您需要一個Equipment.


class TestEquipment extends FunSuite {

    val equipment: Equipment = ...    

    equipment.numberOwned = 0


    test("first test"){ ... }

}

在 Scala 中,您可以直接執(zhí)行import equipment._和引用numberOwned,但這不會改變含義。


這個實(shí)例可以是this,就像 skjagini 的回答一樣,但它在語義上沒有多大意義:你的測試套件是一種設(shè)備嗎?


查看完整回答
反對 回復(fù) 2022-07-14
  • 2 回答
  • 0 關(guān)注
  • 113 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號