> Note that I could create my own provider and test with it, but what I would > really want is to test how my EncryptedPrivateKeyInfo works with > AlgorithmParameters from real provider as well as how my other classes work > with real implementations of crypto Engines. > > Thanks, > Mikhail. >
Hi Mikhail, There are 'system' and 'unit' tests. Traditionally, unit tests are of developer-level. Each unit test is intended to test just a limited piece of functionality separately from other sub-systems (test for one fucntion, test for one class, etc). Such tests must create a desired environment over the testing fucntionality and run the scenario in the predefined conditions. Unit tests usually able to cover all scenarios (execution paths) for the tested parts of fucntionality. What are you talking about looks like 'system' testing. Such tests usually run on the real environment and test the most often scenarious (the reduntant set, all scenarios usually cannot be covered). Such testing is not concentrated on the particular fucntionality, but covers the work of the whole system. A sample is: "run some demo application on some particular platform, with some particular providers installed and perform some operations". I think currently we should focus on 'unit' test approach since it is more applicable during the development (so my advise is to revert your tests to install 'test' providers with the desired behavior as George proposed). However we should think about 'system' scenarios which can be run on the later stage and act as 'verification' of proper work of the entire system. -- Anton Avtamonov, Intel Middleware Products Division