2017-06-26 1 views
1

私はxamarin.forms 2.3.4とF#の完全な新しい/空のプロジェクトを持っています。F#で区切られたコンソールプロジェクトでxamarinの単体テストロジックがどのように形成されるのですか?

私はロジックのための余分なモジュールと、共有プロジェクトを持っている:

module Db 

let openDb() = 
    printf "Hello" 

は、それから私は、コンソールプロジェクトを作成し、共有プロジェクトに&関連のライブラリを参照し、それを実行しよう:

open Db 

[<EntryPoint>] 
let main argv = 
    Db.openDb() 
    0 

今、私はこのエラーを取得:

../Test/Tests.fs(6,6): Error FS0039: The namespace or module 'Db' is not defined. Maybe you want one of the following: XDB (FS0039) (Test) 

私はのgettinありませんg他のエラー。私は両方ともxamarinで試しています& Visual Studio Mac; UIテストプロジェクトを作成することもできます(ただし、私はロジックテストのみを気にします)。

これは他に何もない空のフォームプロジェクトです。

P.D:共有プロジェクトへの参照を削除し、ファイルを手動でリンクすると機能します。しかし、このシナリオをカバーすることが可能かどうかは疑問です...

+1

あなたはコードベース全体へのリンクを投稿できますか? –

答えて

1

モジュールを定義するファイルの下にEntryPointファイルがありますか? ファイルの場所は、(ソリューションエクスプローラで)alt + up arrowalt + down arrow(勝利+のVisual Studio)またはDb.fsで変更することができますright clickされる - >Move up

F#がアップからダウンにreadedファイルです。

それはたぶんそれ(win10、Visual Studioの2017)

enter image description here

(このsiteの "プロジェクトおよびソリューション" を参照してください)はモジュールです。 EntryPoint program.fsというエントリがあります。 また、名前空間とモジュール名が同じ場合、エラーが発生します。このプロジェクトのモジュール名はBarです。

+0

いいえ、Db.fsは共有プロジェクトにあります。テストではテストファイルのみです。 – mamcx

関連する問題