My first impulse was like much of the others -- if they are sexually active, he may have given it to her (even if she was unfaithful to him, it still could be from him, rather than from her to him). That is the state of mind that I would have, as I approach him. Don't necessarily accuse him (he may not know he has it), but keep in mind that he may be the "guilty one" -- and since you don't know (and may never know, unless she cheated on him with someone she now knows has herpes), keep the conversation frank and open, neither accusing him nor excusing herself, and just be honest -- "Honey, I just found out that I have genital herpes, and since we've been together for 3 years, you probably have it, too. It can be latent for [insert time space here -- months, years, perhaps some people never develop symptoms], so you may have had it for years and not know it, and need to be tested to see if you have it, too."
This is, of course, if she doesn't know how she got it; if she knows -- and particularly if she was unfaithful to him -- she should be honest about that, and not lie to her future husband, because that is a horrible foundation for the marriage. However, if she doesn't know (and if she wasn't unfaithful to him), she should assume for now that it is very likely that he gave it to her, and also possible that *he* cheated on her and gave her this lovely disease. When she starts to mentally quake and tremble about telling him, perhaps it could give her a dose of "backbone" to imagine that not only did he give it to her, but that he knew he had herpes and just didn't tell her. [Of course, she doesn't need to launch into him accusing him of that, because he may be totally innocent.
If, however, they have not been sexually active, then she knows that a previous partner gave it to her, and she needs to come clean -- today. She can imagine how it would feel if the boyfriend who gave her this disease knew he had herpes but didn't tell her and knowingly infected her, and use that to impel her not to treat her fiancé so shabbily.