我知道私有變量的概念是不應該被訪問,我確實希望它在這個程序的其餘部分使用模塊時以這種方式工作,但我需要它來檢查內部工作的目的的模塊。如何訪問fortran模塊中的私有變量?
說我有以下簡單的例子:
module mod
implicit none
private
integer :: value
public :: set_value
contains
subroutine set_value(input)
implicit none
integer,intent(in) :: input
value=input
end subroutine
end module
,我現在要測試的子程序,看是否確實是這樣做我想要什麼:我想編寫使用該模塊的程序,使用輸入8調用例程set_value
,然後檢查內部變量value
現在是8.
我可以這樣做嗎?還是有另一種方法來單元測試私有變量的初始值設定項嗎?
寫一個'get_value'函數並用它來測試。 – casey
即使我只會使用該功能進行測試?另外,我不會一次測試兩個例程嗎? – Nordico
如果您不想關注@casey,只需將其設置爲公開以進行測試,然後將其設置爲私有! – innoSPG