我在AS3中創建一個使用堆棧作爲其基礎數據結構(用鏈表實現)的對象池。我是FlexUnit的新手,但我真的很想爲我的類進行一些單元測試(因爲在一個新項目中測試它們會很麻煩)。如何使用FlexUnit 4測試鏈表對象池?
我遇到了一些問題,試圖跟蹤變量,但是,因爲我的班級成員不公開;我希望能夠測試隻影響類的成員的私有方法。 (例子包括創建列表,將節點從棧中彈出,將節點推回堆棧等)
FlexUnit的實踐似乎聲明,您有一個單獨的測試類,可以針對您的類運行測試方法。但是,這些類將無法訪問我的私有變量,並且我不希望僅爲單元測試創建getter和setter。有沒有解決的辦法?可以將測試方法添加到類本身(Python風格)中,而不是添加到測試用例類中?
如果之前詢問過,我很抱歉。我對此很陌生;我感謝您的幫助。如果我需要使用代碼片段或其他任何東西來澄清,請告訴我。
編輯:我意識到我的數據結構實際上是一個堆棧,而不僅僅是一個通用的鏈表。我已經更新了這個問題來反映這一點。
嗯....我寫的方式,我有一個類我的節點對象,我有一個工廠類,創建和管理列表,這是我的池對象。只有Pool對象應該能夠訪問實際的鏈接;這允許用戶在不破壞它的情況下推送和彈出池(手動設置鏈接爲空等)。由於這個池的性質,我不需要用於迭代的遊標,並且該列表只需要單獨鏈接,所以我可能最終會滾動我自己的。它實際上比任何東西都更重要。 (這也是很好的做法!:D) –
其實,你的評論讓我覺得 - 這實在是一個堆棧,用一個單鏈表實現。我會更新我的問題以使其更清楚。 –
然後,真正你需要的只是對列表中最後一個鏈接的引用,這真的很容易測試 - 當你從池中請求什麼東西時,你放入池中的最後一件東西是什麼? –